News for hackers. Stuff that matters.
Re:Ask HN: What Happened to Elm? by yawaramin on Friday February 10, 2023 @07:48PM (#34748239)
Reason didn't exactly 'die', the toolchain that most people used to call 'Reason' just rebranded as ReScript. And no, you could not have your backend running either Node or native OCaml (I assume you mean binary executable), no one ever made a viable library or framework to do that. Sure, it was theoretically possible if you did a ton of work, but no one did that, because it would have been a huge amount of work (seriously, a lot).
Re:Ask HN: What Happened to Elm? by Hermitian909 on Friday February 10, 2023 @08:40PM (#34748654)
Hi Yawaramin, I remember you fondly from the discord and hope you're well.

> Sure, it was theoretically possible if you did a ton of work, but no one did that, because it would have been a huge amount of work (seriously, a lot).

I think I communicated unclearly. It sounds like you read my statement as "run the exact same code in node or OCaml" which I agree would have been very hard. I had a much simpler multi-service setup where I could share some business logic.

Basically I had two services with the code unique to them stored in different directories, /ocaml-server and /node-server respectively. Both called into a common /lib directory. /ocaml-server had some very hot loops in it, /node-server had more standard business-y code that hooked various npm packages.

Re:Ask HN: What Happened to Elm? by yawaramin on Friday February 10, 2023 @11:14PM (#34749516)
> It sounds like you read my statement as "run the exact same code in node or OCaml" which I agree would have been very hard.

Hello! Indeed, I did misunderstand you. I agree that it was possible to share some parts of the code between Reason's JS target with BuckleScript, and native target with the stock OCaml compiler. I think a pretty reasonable number of people did that. Actually, it's still possible to this day even with ReScript e.g. https://github.com/aantron/dream/tree/master/example/w-fulls...

> Between the breaking changes and the general change in development philosophy...switching to the ReScript compiler for my project would have required nearly a complete rewrite.

There were perhaps a couple of minor breaking changes but can you explain why it would have required a near complete rewrite? I wasn't aware of anything major like that. ReScript even supported and as far as I know, to this day continues to support the old Reason syntax.