Hej folks, hope you’re staying safe.
I wanted to share a project I’ve been working on for some time now: Caramel, an OCaml to Erlang compiler.
tldr: write OCaml and run it on the BEAM
Caramel runs on the Erlang virtual machine, the BEAM, which is perhaps the most mature and reliable functional language runtime in the world. It has built-in error handling mechanisms that make it ideal for building systems that should never stop running, that need to handle massive concurrency in soft-real time, and that need to be built by just a handful of engineers.
This is the magic ingredient in companies like Whatsapp, Ericsson, Heroku, Klarna, and Discord, that build and operate their massively scalable systems with unbelievably small teams.
So don’t let the candy fool you: this is not a toy.
The sources are a subset of all of OCaml, and they are compiled with the OCaml compiler. Caramel is just a new backend like Js_of_ocaml or BuckleScript.
It is getting to a place where you can play around with it so if you have any comments and feedback, it’s all very welcomed, feel free to AMA.
I’m also normally tweeting about it so that’s the best source of news at the moment.
PS: yes, Reason syntax support is in the roadmap but I can’t put more links on the post.