3 ms·
If you've not used an ML before, start with Elm. Once you feel you have that sussed - it shouldn't take too long - pull up ReasonML and give it a go. Use the B
by weavie 7y ago
If you've not used an ML before, start with Elm.
Once you feel you have that sussed - it shouldn't take too long - pull up ReasonML and give it a go. Use the Bucklscript-Tea library - the architecture will be familiar from Elm.
Then give Reason-React a go.
Once that itch has been scratched move on to PureScript for a whole new rabbit hole to fall down.
- adamnemecek 7y agoI mean I'm familiar with ml and haskell, I'm more interested in what's the best platform for building things. The language itself is only a part of the equation.
- azangru 7y agoI believe Reason is more practical (easier FFI), but as for building things, at this point it's probably Typescript :-) Reason still hasn't had its async story ironed out, and has poor support for Unicode[0] [0] "ReasonML strings are encoded as UTF-8 and not compatible with JavaScript’s UTF-16 strings" (from https://2ality.com/2017/12/basic-types-reasonml.html https://2ality.com/2017/12/basic-types-reasonml.html)
- yawaramin 7y ago> Reason still hasn't had its async story ironed out, Reason's async story is pretty simple: use promises until the let-syntax (like generalized do-notation) lands, then use that. > "ReasonML strings are encoded as UTF-8 and not compatible with JavaScript’s UTF-16 strings" Unfortunately this is inaccurate, and you left out a significant detail from the article. Let's go point by point here: - Reason strings are not encoded as UTF-8, in fact they aren't encoded at all. - But, when targeting JavaScript using the BuckleScript compiler, strings can contain Unicode characters and use the JavaScript runtime's support for Unicode. - This is not a short-term workaround, but the intended solution.
- weavie 7y agoElm is made for one thing - web apps. It does it well, but it's probably not the only language you would ever use. ReasonML/Ocaml is a general language. You can use whatever framework and platform you like. There is an Elm framework for Elm like development, there is a React layer for coding against react. But you can also write server apps, command line apps, GTK etc..