Hacker News new | past | comments | ask | show | jobs | submit login

Could anyone please compare Reason and Elm? I tried Elm for a while but felt really constrained, and strongly disliked feeling trapped in its bubble.

for better or for worse, there is much less of a Reason bubble to be trapped in. The foreign function interface of the bucklescript compiler (Reason/Ocaml->js) makes for a much more gradual boundary between javascript and Reason code than that between js and Elm, a difference that flows naturally out of the different language designs: OCaml is multi-paradigmatic, sporting mutability and an object system, whereas Elm tries to help the user (e.g. via better isolation/prevention of errors) by sticking to one paradigm.

Even within the functional paradigm, OCaml offers all the tools Elm does (leading to re-implementations of elm structures like https://github.com/OvermindDL1/bucklescript-tea ), and more — the module system is the biggest one to come to mind, but library authors have even found client-side uses for esoterica like phantom types (ensuring certain safe usage patterns without runtime costs).

Bubbles can be nice, though! For example, some people are confused by the fact that there is a "beta" standard library in addition to the one that Reason ships with - and that at least one popular (arguably the most popular) book on OCaml — "Real World OCaml" uses a third standard library which is neither of those. One can debate how much of a problem or how widespread of a problem this is in practice, but it stands that this is not a problem at all for Elm.

You may like PureScript. More like Elm in sense of purity, without the "artificial" constraints (Elm's creator believes the lang should not/nevah/evah serve general purpose).

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact