3 ms·
OCaml's syntax on the other hand is stable, whereas it is my impression that ReasonML changes with the same frequency that JS libraries are changed. And the di
by bad_user 9y ago
OCaml's syntax on the other hand is stable, whereas it is my impression that ReasonML changes with the same frequency that JS libraries are changed.
And the differences are very superficial. What trips people is not the actual syntax, but the concepts learned, the rules of the type system, scoping rules, etc, which don't change.
I'm glad that ReasonML exists, but personally I would use OCaml instead of risking that my codebase gets stuck with an old release after only six months because the current version now has different opinions about how to express anonymous functions.
- lilactown 9y agoYou're right in that ReasonML syntax is a bit of a moving target, but I think it's part of the initial pains of their effort to provide an approachable port into the ML world. The syntax should stabilize eventually. The maintainers are aware of the churn they are creating, and have deemed it worth it. That being said, I have a bunch of old projects written in Reason 2 (which still work; the tooling has preserved perfect backwards compatibility[0]), and recently started a new project using the new Reason 3 syntax. It was easy enough to pick up the new syntax in about a day. I haven't done it yet, but my understanding is that it's completely automated[1]. [0]: https://reasonml.github.io/community/blog/#reason-3 https://reasonml.github.io/community/blog/#reason-3 [1]: https://github.com/reasonml/upgradeSyntaxFrom2To3 https://github.com/reasonml/upgradeSyntaxFrom2To3
- jordwalke 9y agoWe provide tools to automate the upgrade between any two reason versions. It’s actually pretty trivial to keep up with changes due to refmt.