3 ms·
The DarkLang project was originally written in OCaml and was recently ported to F# (https://blog.darklang.com/new-backend-fsharp/ https://blog.darklang.com/new-
by JaggerJo 4y ago
The DarkLang project was originally written in OCaml and was recently ported to F# (https://blog.darklang.com/new-backend-fsharp/ https://blog.darklang.com/new-backend-fsharp/)
> How much work would it take in term of code rewriting?
There are definitely code changes required, but I think those are quite manageable as concepts mostly map 1:1 from OCaml to F#.
> can it compile to native code?
Yup, https://learn.microsoft.com/en-us/dotnet/core/deploying/native-aot/ https://learn.microsoft.com/en-us/dotnet/core/deploying/nati...
> how good is the language support experience in vscode?
Pretty good, https://ionide.io https://ionide.io
(but I personally prefer JetBrains Rider)
> any reason not to do it?
Compilation speed, some OCaml language features?
- rattray 4y agoHow much worse is the compilation speed?
- xpressvideoz 4y agoOh so they're finally releasing a "true" AOT. It was advertised to have been released several years ago but they have continuously pushed back the date. Good to see they're finally delivering it. Also great to see a fellow HNer who uses the `service-name@personal-domain` email scheme, as per your profile!
- debugnik 4y ago> Pretty good, https://ionide.io https://ionide.io It pains me to admit it because I really like F# but, with due respect to the developers, Ionide and its related projects are the most unstable toolchain I've ever used. Spend half a day reloading the editor because the extension keeps hanging on non-trivial MSBuild only to discover that the formatter has truncated in half one of the files you worked on due to a soundness bug. (OCaml's editor support, in contrast, is quite stable.) Rider is the best editing experience I've had with F#, by far.
- JaggerJo 4y agoPersonally use Rider, so can't say anything about Ionides stability. I recommend Rider.
- belmont_sup 4y agoIf I had known this… I was recently excited to try F# and prototype a web service within falco. Ionide worked until it didn’t in between switching from .net 6 to 7. Built fine but ide errors everywhere about missing modules