A breakthrough in the maintainability of ReScript toolchain

Hi all,

I want to share some exciting news with people who are betting on ReScript. Last night, I landed a huge commit to achieve a goal we desired from day one: rescript compiler should build with any version of OCaml compiler.

Let me explain a little why this matters and would help you increase the confidence over our technology.

For people who adopt a non popular language (we hope we can get more popularity in the future), it is a risky choice, since it may happen that some day the core team is defunded, the language is stagnant, to make things worse, the compiler may have some dependencies that keeping evolving, eventually, this compiler may no longer work due to lack of resources, note this happens a lot.

We aim to build a language that still lives in the next 10 years, we are as risk averse as our users. That’s why we are very sensitive to any dependencies that may be introduced. ReScript does not have any external dependencies, the ReScript compiler is built using OCaml, so that the OCaml compiler is vendored. This guarantees our work will work as long as you have a working C++ toolchain, however, there is an issue with such design. The vendored OCaml compiler is stagnant that it can not receive any upstream enhancements, for example, the M1 native backend. Our recent commit makes ReScript decoupled with the version of OCaml compiler, it can be built using any version of OCaml compiler, so we are as stable as we want while we can still benefit the improvements from the upstream.

I hope such stability will increase your confidence over our choices.


:+1: Good news! I think it worth copy-pasting the statement to the FAQ (https://rescript-lang.org/docs/manual/latest/faq) as yet another brick to convince the platform sustainability.