Is rescript damaging Ocaml ecosystem?

The number of cool languages that have come and gone would be difficult to know. Some died quickly, or were never fully alive, and some had several good years but didn’t make it to today. (I’m still fond of SML.)

For a long time, I imagined trying to sell OCaml to other technical people at my university. I always felt that asking people to learn a syntax as unfamiliar as OCaml would make that more difficult. I loved the idea of Reason because of that. I was interested in compiling Reason to native code, which would appeal to the people I had in mind. This was doable in theory, but was clearly not the focus of the Reason community. I felt I had to wait until Reason was less bleeding edge before thinking about selling it to anyone.

There were no books for a while, and there were non-backward compatible syntax changes happening (still before ReScript). I couldn’t tell anyone to use that as a new language to get work done. I would feel responsible if they got tripped up by language changes or have to abandon it and rewrite in a new language.

I know less about what’s been discussed in the OCaml, Reason, ReScript communities than others here do, but I feel that for the moment, Reason has been killed or fragmented by ReScript. (There are several Reason books out now, and I feel bad for the authors and publishers.) Bob Zhang and others can do whatever they think best–there are difficult tradeoffs–and in the end ReScript might become a sufficiently popular, stable language. I feel that for now the amount of churn with Reason/ReScript will, and should, scare a lot of people away. I’m sure the ReScript folks thought about that. It’s a long-term strategy that they are pursuing.

On the other hand, I now think it’s unlikely that OCaml will ever get a more popularly-styled syntax that can be used to introduce it to others. I’ve given up on that.

Maybe that should be considered damage to a possible future for OCaml, but it was only a possible future. Even if it someday became a safe practice to write in Reason for native-code compilation, all of the libraries would still be in the traditional syntax. You could run OCaml library source through a translator to get out Reason-style source, but the documentation would still use OCaml syntax. So maybe using Reason syntax for native-code OCaml would never have been a good way to sell the language.

If I want to sell OCaml to others, I will just have to help people over the (camel’s :slight_smile: ) hump of learning the syntax.

8 Likes