You may remember Paul Biggar’s series of blog posts on the process and decision to rewrite his Dark programming language in F#, which was originally written in OCaml:
Paul will be speaking about Dark at next week’s meeting of the Houston Functional Programming Users’ Group. Although he’s not planning to specifically focus on the OCaml → F# rewrite; I’m certainly planning to ask him about the experience, costs and benefits, etc. If you’re in the Houston area, please join us in person at Improving. Everybody else can join us online, via Zoom. Complete details and connection info are available on our website at https://hfpug.org.
Reasons for doing so would be quite legitimate I imagine—there’s got to be lots of time and effort (and money) spent on the OCaml backend, so changing it to F# has to have been more cost-effective in the long run than continuing with OCaml.
This might be something for the community to learn from. I wouldn’t dismiss this rewrite so easily. I’m interested in the experience reports, on the ecosystem / tooling / deployment / post-release workflows in OCaml vs F#.
I know OCaml and F# aren’t the same—F# is fully backed by MS and benefits from the existent .NET ecosystem, but that doesn’t mean we can’t learn from its appeal.
It doesn’t take anything from your overall point, but the first part of that sentence isn’t that true anymore…
Microsoft, now, expects a lot of community involvement for F# support, they’ll be focusing on leadership and compatibility with C#. (see the recently updated languages strategies for .Net .NET Managed languages strategy - .NET | Microsoft Learn)
The recording of Paul’s talk is now available on our website at https://hfpug.org. He discusses rewriting the OCaml codebase at about 30 minutes in. His basic argument was that the F# ecosystem was much stronger – libraries, tooling, etc. What was more interesting to me were some of his criticisms of Rust (which is also the subject of one of his blog posts).