Ranked in these QuestionsQuestion Ranking
Pro Superior type inference
Ocaml type inference is so smart that you never have to repeat yourself and keep code very clean, type errors also are very pleasant.
Pro Immutability with escape hatches
reason includes true immutability, but it has escape hatches to let you use mutations in exceptional cases.
The same reasonml code can compile to js (eg. run on browsers or node.js, use any lib in npm), or compile to assembly thru ocaml (unless of course you load js externals), running on any device, with C-comparable (or better) performance.
Pro JSX syntax natively supported
Reason was created by the creator of react, for developers already using JSX to template web or native UIs this results very familiar.
Pro Interactive REPL
You can evaluate new Python code in the browser written by the user.
Con A standard async syntax is pending
Async syntax is not standard across native/js projects and in both cases a bit awkward for non-ocaml devs. Currently this is reasonml most voted issue in their GitHub repo so hopefully, there's news soon.
Con Ecosystem is a mess
A wonderful language, but a user is required to use multiple different package managers for many things (esy, bsb, npm). Some standard templates from bsb (e.g. react-starter) are not installable out of the box.
Con Python 2.6
Skulpt implements an outdated version of the Python language.