If so, what are you using it for and how do you like it.
If so, what are you using it for and how do you like it.
I saw the Reason announcement months and months ago and decided to use it as a jumping-off point into the OCaml ecosystem. It took about a week of writing Reason before I realized I was spending so much time reading OCaml (all the libraries were written in it) before I just switched to OCaml proper. Haven't looked back - the syntax takes a few days to pick up, but is hardly the most difficult part of writing a program.
Hopefully they can capitalize on the "Build" and "Share" part of their value prop [0] because "Syntax" appears (to most) to be the least valuable improvement. As a disclaimer, I could be totally wrong, never having worked at a FB-size organization – that onboarding time probably adds up quickly.
Come to think of it: can anyone think of a successful transpiled language that doesn't actually provide new semantics? Coffeescript is the closest thing that comes to mind, but it's dying out as ECMAScript absorbs its most appealing features.
[0]: http://facebook.github.io/reason/#reason
Edit: forgot about Elixir, which seems to be doing quite well – but that introduces new semantics like homoiconicity + macros and protocols.
If you are interested in this, I recommend some talks. First one by Cheng Lou, a main contributor of Reason and FB employee on React Conf 2017[3]. And a talk by Sean Grove[4] on Reason in general.
With the power of FB behind this new techonolgy (they have currently written 25% of messenger.com in Reason), this might well become very big. A general purpose strongly typed functional prog lang, that has a vast ecosystem, now an approachable syntax, and compiles to both native and JS. Sounds good nuh?
[0]: https://facebook.github.io/reason/#diving-deeper-jsx
[1]: https://facebook.github.io/reason/#diving-deeper-curried-fun...
[2]: https://github.com/chenglou/reason-react-example/blob/master...
CoffeeScript seems to be doing well, they're working on version 2.0 (currently in alpha) aka coffeescript@next [1] with async/await (with similar approach as they did with generators where only `yield` keyword is used and the function is implicitly lifted to generator, similarly using `await` implicitly lifts function to async, so there's no need to mark function as async explicitly - very good idea IMHO), ES2015 classes and some other changes.
CoffeeScript is still what it was before - making code easier and more pleasurable to read and write: less verbose, everything is an expression, existential operator, better switch, comprehensions, prototype access operator, chained comparisons, block regex, implicit returns, range loops...
Which imo is a bigger achievement! Being able to gradually convert a js codebase over is one of our main goals.
Cheng, you're pretty much a full time contributor :P
I think you need to update this page since it mentions 4.02.3 still. https://github.com/facebook/reason/blob/master/README.md#ins...
git clone <project name> && cd <project name>
<build tool> build
And have it fetch all of that projects dependencies, and then build the entire system.Anything that requires machine-wide package installation is immediately disqualified (user-wide package installation is almost as bad).
What's Reason's debugger story like?