This project was originally created by Hongbo Zhang in 2015. It was named BuckleScript and rebranded into ReScript in 2020.
The major contributions from contributors include
Cristiano also contributed to several important patches in the upstream native compiler, in particular, the pattern match compilation.
More details are available here.
Thanks to the OCaml team, obviously, without such a beautiful yet practical language, this project would not exist.
ReScript builds on these parts of OCaml:
These modules were adapted from ocaml/bytecomp/simplif.ml
for
JavaScript specific optimization purposes.
jscomp/main/rescript_compiler_main.ml
is adapted from ocaml/driver/main.ml
. It is the main entry
point of the underlying compiler.
jscomp/stdlib-*
is copied from ocaml/stdlib
. It is compiled to JavaScript and included with ReScript.
ReScript imported one file from jsoo
jscomp/core/js_dump.ml
(pretty printer)
This file was imported but changed significantly in iterations later.
jscomp/test
is based on ocaml/testsuite
.
ReScript unit test builds on parts of OUnit
jscomp/ounit
is adapted from ounit, the unit test utilities are only used for dev purpose, they are not required for distribution
Thanks to ninja-build, ReScript also comes with a blazing fast build tool on top of it, ninja
is a truly well engineered scalable build tool.
Thanks to Bloomberg and Facebook. This project began at Bloomberg and was published in 2016; without the support of Bloomberg, it would not have happened. This project's funded by Facebook since July 2017.