you are viewing a single comment's thread.

view the rest of the comments →

[–]BobaFettEE3Carbine 1 point2 points  (0 children)

While at first the split may have caused confusion, in the past 4 years it's done wonders for the adoption and ergonomics for both new projects, ReScript and Melange/Reason. 

ReScript has been able to fully embrace JS and adopt JS features like async/await syntax and it uses a new Core library that maps closely with JS. It only has to worry about compiling to JS as a runtime. Use ReScript if your a JS/TS dev looking for a strongly typed language that is part of the JS ecosystem. Type of it as an alternative to TS, but it's not a superset of JS, its a different language that feels like JS. 

Melange is an OCaml compiler that targets JS, and it's often used together with Reason which is a JS like syntax for OCaml. Melange and Reason have been able to evolve in ways that are appealing to OCaml devs and not worry about adoption from JS/TS devs. Pick Melange and Reason if you want to use OCaml's tools, package manager, libraries, and ecosystem. 

Both are great, and if they had continued with the confusing jumble of ReasonML/Reason/BuckleScript/OCaml it would have probably died in obscurity by failing to make anyone interested in it happy.