Facebook has many projects that are already written in OCaml, and Reason provides a path forward for seamlessly, and incrementally moving projects over to the new syntax/style.
Feel free to take a look at some Reason in the wild, used inside of the Infer project at Facebook:
Apart from that, although syntax is the "user interface" to a language, and user interfaces are very important, there really is so much to a language beyond the syntax. I see Reason's syntax as a way to make the really good parts of OCaml exposed to a wider audience, while making existing OCaml developers more productive in their editors.
Some things you might appreciate about OCaml's core language (which Reason provides a new interface to):
- World class pattern matching.
- Excellent type inference.
- Bare metal compilation without a VM, but alternatively the ability to compile into JS.
- Great predictable performance, even without a ton of performance optimizations (because the runtime is so simple), but take a look at 4.03 which includes a new F-lambda optimization pass. Even without F-lambda the perf is competitive with other systems languages, and F-lambda buys you another good 10-30% reduction in CPU or so.
Feel free to take a look at some Reason in the wild, used inside of the Infer project at Facebook:
https://github.com/facebook/infer/tree/master/infer/src/IR
Apart from that, although syntax is the "user interface" to a language, and user interfaces are very important, there really is so much to a language beyond the syntax. I see Reason's syntax as a way to make the really good parts of OCaml exposed to a wider audience, while making existing OCaml developers more productive in their editors.
Some things you might appreciate about OCaml's core language (which Reason provides a new interface to):
- World class pattern matching.
- Excellent type inference.
- Bare metal compilation without a VM, but alternatively the ability to compile into JS.
- Great predictable performance, even without a ton of performance optimizations (because the runtime is so simple), but take a look at 4.03 which includes a new F-lambda optimization pass. Even without F-lambda the perf is competitive with other systems languages, and F-lambda buys you another good 10-30% reduction in CPU or so.
- Multicore support is progressing. Here's a PR from today to add multicore support to the native backend (https://github.com/ocamllabs/ocaml-multicore/pull/47)