This project is forked from an earlier version of the ReScript
compiler, focused on a
deeper integration with the OCaml ecosystem. Such integration makes it easy to
share code between backend and frontend using e.g. Dune's virtual libraries.
Melange 1.0 includes a ReScript compatibility layer to maintain compatibility
with ReScript syntax - preserving access to ReScript's package ecosystem. Both
ReScript and Melange have diverged significantly since then, and this
compatibility layer was removed in Melange 2.0.
A small write-up with more details on the motivation behind this project can be
found in the announcement blog
post. Additional
write-ups exist at anmonteiro.substack.com
Below is a quick comparison between Melange and other tools:
| Name | Purpose | Dependencies | Notes |
| -------------------------------------- | -------------------------------------------------------------- | ---------------------------------- | ----------------------------------------------------------------------------------- |
| OPAM | Package manager | None | Obtaining dependencies such as dune or reason |
| Dune | Build tool | Installed with e.g. opam | Composable build tool for OCaml; supports composing custom rules to build any project |
| Reason | Syntax | Installed with e.g. opam | Alternative syntax to OCaml |
| Melange | Compiler that emits JavaScript | OPAM (to install), Dune (to build) | Supports OCaml and Reason; derived from ReScript, focused on deeper integration with OCaml |
| ReScript | The brand around a syntax and a compiler that emits JavaScript | None | Distributed via NPM as prebuilt binaries; previously called BuckleScript |
Thanks to the ReScript
project, its author and maintainer @bobzhang,
and its many
contributors.
Melange is a fork of ReScript, and continues to incorporate patches to
ReScript on a regular basis.
Thanks to the OCaml team, obviously, without such a
beautiful yet practical language, this project would not exist.
Thanks to Bloomberg and
Facebook. The ReScript project began at
Bloomberg and was published in 2016; without the support of Bloomberg, it
would not have happened. ReScript was funded by Facebook since July 2017.
See also Credits.md concerning some individual components of
Melange.