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

Anybody got a gauge on reason? Does it have the potential to change the current paradigm on client side browser development?

Comment I wrote in a previous thread with some minor edits:

"We chose ReasonML after a previous project of working with JS, React and Flow. We started using Reason back in May. The plan was to use typescript, but after some great experiences with Rust on personal projects, I really wanted a language closer to Rust.

Our team loves using Reason and for me, it's been such a breath of fresh air. Working on front end code is a lot more fun because many of the frustrating things with JavaScript/React has been removed. The compiler is VERY fast and the language is well designed.

With that said, the learning curve is a bit much due to the lack of beginner friendly documentation. If you do not have experience with an ML like language (Rust, Swift, Scala, Ocaml, F#) AND React, I think it will be painful. Despite that, it is totally worth learning.

The good news is that the core team realizes this and things are changing fast. React was originally designed for an ML based language and you can it's easy to see all the awkwardness of ReactJs removed in ReasonReact. ReasonReact really is an eye opening experience of how good front end dev can be."

I didn't realize Reason was so geared towards React. Would it be foolish to use an alternative like Vue with it? What about server-side with Node?

Reason itself is not geared towards React and it is a general purpose language. I emphasize React mostly because the original creator of ReactJS is involved in creating Reason and you can see that React was designed for a language like Reason.

I do not think it would be foolish to use it with Vue and Reason is actively used with Node. For instance:


There is a lot of work going into the backend for Reason and I'm pretty excited about this.

There is a reason-vue project (https://github.com/JasonShin/reason-vue), but from my memories with Vue it is not a great fit for a statically typed language because a lot in Vue is "stringly typed" (which means that it is untyped and basically works by using the same/right string in your code, opening a huge opportunity for typo-bugs that a compiler cannot find).

You may want to look into this project which is an alternative to the React ecosystem: an implementation of the Elm architecture in OCaml/BuckleScript (and thus Reason).


> What about server-side with Node?

Possible with Reason, yet compilation to native is also possible from Reason... This allows one to use really fast all-OCaml libraries. Like this HTTP server:


Reason itself is an alternative syntax for OCaml. The developers have built great support for React but in principle you can do whatever you can do with JS.

So what's the deal with BuckleScript? The docs are really unclear on their relation and just call it a "partner project". But it's the actual compiler? Then what is Reason?

Reason = syntax for OCaml. Bucklescript is a transpiler to js. You can use other transpilers if you want but Bucklescript is great and has tightly integrated support. The best way to experience it is to just follow the "npm install" instructions. It may be a little confusing since you install Bucklescript, instead of Reason, as Reason is a syntax that Bucklescript supports. The online playground works great as well if you just want to get a feeling about the language.

Can bucklescript compile OCaml into js?

Yes that is what it was designed to do. Of course if your code calls out to some library implemented in native you will need to substitute with the js equivalent. Bucklescript has special syntax for you to describe the FFI to js, like Typescript. Otherwise it is OCaml in classical syntax or in Reason.

Answer to the same question in a recent thread: https://news.ycombinator.com/item?id=17933179

The only place where I see any references to it is on HN and conferences like StrangeLoop.

For the kind of customers I work for, if it wasn't for Angular adopting TypeScript, we would all still be using plain old JavaScript on our Web apps.

Weird. There were quite a number of conferences where Reason was mentioned:

- ReactiveConf (I think Sean Grove talked about it)

- React Rally, or wherever Ken Wheeler talked recently – he gave several talks about how Reason is the shit

- I think there was a conference dedicated entirely to Reason — ReasonConf 2018

And Twitter of course.

I see it referenced quite frequently.

React related conferences, fair enough.

I don't follow React development.

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