2 ms·
Ultimately it was a no-brainer to choose F#. Their current code base is in OCaml. Porting code from OCaml to F# sounds about as painful as moving from Python 2
by djhaskin987 6y ago
Ultimately it was a no-brainer to choose F#.
Their current code base is in OCaml. Porting code from OCaml to F# sounds about as painful as moving from Python 2 to 3[1], which while painful, is waaay better than a total re-write. F# has much better libraries and ecosystem (because it is built on .NET). Their frustration was with the libraries and ecosystem of OCaml, not its syntax[2]. So, if they switch to F#, much of their core logic remains syntactically the same, and simply needs reworking (rather than rewriting). They also have to retool/call .NET libraries instead of C/OCaml ones, of course, but this is really the point of the move anyway.
So: better libraries for what they're doing, not a total rewrite (just a re-work), preserve the overall codebase's structure, less disruption. It just makes good business sense to me.
[1]: https://stackoverflow.com/questions/4239121/code-compatibility-between-ocaml-and-f https://stackoverflow.com/questions/4239121/code-compatibili...
[2]: https://blog.darklang.com/leaving-ocaml/ https://blog.darklang.com/leaving-ocaml/