Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature matrix for languages #143

Open
alfonsogarciacaro opened this issue Sep 30, 2022 · 5 comments
Open

Feature matrix for languages #143

alfonsogarciacaro opened this issue Sep 30, 2022 · 5 comments

Comments

@alfonsogarciacaro
Copy link
Member

@dbrattli @ncave @alexswan10k @MangelMaxime

I think we'll need to replace/add a Feature/Language matrix to this page so users know what it's supported and what not in each language: https://fable.io/docs/dotnet/compatibility.html

I'm thinking of something similar to the picture below, with language targets replacing the browser and without version numbers:

image

The current doc also lists the type equivalence in generated code. Maybe we can keep this when there's a corresponding native type and skip it when it's a custom type from fable-library. If there are some particularities we can include them as footnotes below as it is in the "Caveats" section.

If it looks good to you, I can try creating the table and then I will ask you to fill it for Rust and Python 👍

@ncave
Copy link
Collaborator

ncave commented Sep 30, 2022

without version numbers

Yes, without version number, but we need some color coding (or special symbols) describing the level of support (or readiness) for each feature.

@MangelMaxime
Copy link
Member

Seems like a good representation to me.

To represents the color coding, we can use Icons + Success/Warning/Danger colors.

@MangelMaxime
Copy link
Member

I am working on the revamp of the documentation to support Fable 4

The matrix I have is for the supported languages.

CleanShot 2023-05-21 at 15 58 24

I tried to keep it minimal and readable at a glance

Are the categories correct ?

@alfonsogarciacaro
Copy link
Member Author

This is great, thank you @MangelMaxime!

The status for each language is in https://github.com/fable-compiler/Fable/blob/e0612ff27e53210d58215f29f701367f859721be/src/Fable.Cli/Entry.fs#L361

There is a discussion somewhere but if I remember correctly each status roughly means:

  • Experimental: target is there but it's not currently maintained. Only PHP ATM, but thanks to @entropitor contributions maybe we can move it to alpha.
  • Alpha: the target is in active development although in early stage. Currently Rust is in this state, but maybe @ncave wants to move it to beta.
  • Beta: we encourage users to try it out to help with development.
  • Stable: we believe the target is ready for production even if missing some features, and we will only do breaking changes with a major Fable release.

@MangelMaxime
Copy link
Member

Ok, I will adapt to use the terms you mention and like that the documentation will also serve as a reference when deciding where each languages are at.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants