fable-compiler / fable-compiler.github.io

Fable web site
https://fable.io
22 stars 64 forks source link

Feature matrix for languages #143

Open alfonsogarciacaro opened 2 years ago

alfonsogarciacaro commented 2 years ago

@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 commented 2 years ago

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 commented 2 years ago

Seems like a good representation to me.

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

MangelMaxime commented 1 year ago

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 commented 1 year ago

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:

MangelMaxime commented 1 year ago

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.