In the history of ReScript development, we don’t see major contributions from OCaml experts, but there’s great potential […]
This is a useful fact. However, if you want to attract people from OCaml to hack on your compiler in the future you need to attract them to a more modern code base. You didn’t address the fact that the rescript compiler and merlin based LSP backend is 4.06 era. I was hoping to a get a reaction regarding melange project also but you did not address that point too (see A short history of ReScript (BuckleScript) - #46 by sid )
So I think you have two choices here (both are fine IHMO. It depends on the tradeoffs you want to make)
(1) Maintain your totally independent direction. This gives you maximum freedom and autonomy to make changes anywhere in your language, compiler, tooling. The disadvantage is that ReScript is an island and the burden to do everything is on you. You don’t have others working on the compiler, it is only you.
(2) Hitch yourself back to the OCaml system in some way. My suggestion is to continue diverging your front end language to deal with the needs of Javascript but fuse in the rescript backend to OCaml trunk and submit any customizations to the OCaml project. This is the more tedious route – it requires you to create consensus, argue for your changes, submit PRs etc. This the route taken by mirage, multicore team. Things slow down but more people are looking at the code you write etc.
Seems like you have decided to go all in for (1). Nothing wrong with the strategy. All I’m saying that for many OCaml experts to get excited about working on the Rescript backend there needs to be some active connection to the current ocaml ecosystem. My guess is that OCaml developers would find working on 4.06 era code not very appealing.
Lastly, I notice that you keep stressing how fast Rescript is. No doubt that is a huge advantage you have. But beyond a point there are declining returns to this feature. By chopping off the ReasonML front end and substituting your own front end you gained 20% speed you say. However, the schism that created in the community you lost a lot of passionate advocates for the Reason/Rescript language, created uncertainty and disagreement. Will it be worth it in the long run? It possible that your decision resulted in a cleaner, better, faster code but was a net negative when it came to community in the immediate term. Will the technical factors triumph over the people factors? I don’t know.
However, what is done is done – looking forward you seem to ask the OCaml community to contribute to the rescript project (which is great BTW). All I’m saying is that you need to create a link to the current OCaml ecosystem in someway to incentivize the would be future contributor. The OCaml.org redesign using Rescript is not doubt a great vote of confidence in your project. You can create even more energy in the Rescript project by collaborating with OCaml in some way – I have already made my suggestions here above.
Lastly, thank you for engaging. Like I’ve repeated stated, the Rescript project has the right to pursue whichever strategy it likes. I appreciate the goals of your project and I wish Rescript succeeds beyond your wildest dreams.