ReScript (programming language)

Last updated

ReScript
Rescript-logo.svg
Paradigms Multi-paradigm: functional, imperative, modular, object-oriented
First appearedJuly 1, 2020;5 years ago (2020-07-01) [1]
Stable release
12.0.1 [2]   OOjs UI icon edit-ltr-progressive.svg / December 9, 2025;14 days ago (December 9, 2025)
License MIT
Filename extensions .res, .resi
Website https://rescript-lang.org/   OOjs UI icon edit-ltr-progressive.svg
Influenced by
OCaml, Reason, JavaScript

ReScript is a high-level programming language that transpiles to JavaScript. Its syntax is descended from the Reason programming language, which is an alternate syntax for OCaml.

Contents

Since ReScript transpiles to JavaScript, it can access the entire JavaScript ecosystem. [3] It has direct language support for the React front-end web library, including JSX. [4]

Because ReScript is descended from Reason and OCaml, it is a statically typed language with a sound type system. [5]

History

ReScript traces its roots back to BuckleScript, a compiler that compiled OCaml to JavaScript, which was first released in 2016 by Bloomberg L.P. [6] [7] In the same year, the Reason programming language was released, which was an alternate syntax for OCaml that was more similar to JavaScript. As both projects were influenced by JavaScript, Reason and BuckleScript soon became an integrated toolchain. [8] [9]

However, the BuckleScript team and the Reason team had different priorities. The Reason team wanted to maintain compatibility with the OCaml ecosystem, while the BuckleScript team wanted to be able to change the syntax to give the best developer experience to JavaScript programmers. [9]

In 2020, BuckleScript introduced a new syntax that started to diverge from Reason. [1] A month later, the BuckleScript team rebranded its toolchain to ReScript, to focus solely on the JavaScript ecosystem and essentially becoming its own language, distinct from Reason. [10] ReScript’s support for compiling OCaml ended with version 12, [11] released in 2025. [12]

References

  1. 1 2 Lou, Cheng (July 1, 2020). "A New Syntax for BuckleScript". ReScript. Retrieved December 21, 2025.
  2. "Release 12.0.1". December 9, 2025. Retrieved December 10, 2025.
  3. "Language Manual: Introduction". ReScript. Retrieved December 21, 2025.
  4. "Language Manual: ReScript & React". ReScript. Retrieved December 21, 2025.
  5. "Language Manual: Type". ReScript. Retrieved December 21, 2025.
  6. "BuckleScript: The 1.0 release has arrived!". Bloomberg. September 8, 2016. Retrieved December 21, 2025.
  7. "Open Source at Bloomberg: Introducing BuckleScript". Bloomberg. May 12, 2015. Retrieved September 11, 2022.
  8. "Why Melange". Melange Documentation Site. Retrieved December 21, 2025.
  9. 1 2 Zhang, Bob (February 7, 2021). "A Short History of ReScript (BuckleScript)". OCaml Discourse. Retrieved December 21, 2025.
  10. ReScript Team (August 10, 2020). "BuckleScript & Reason Rebranding". ReScript. Retrieved September 11, 2022.
  11. "Migrate to v12: Language & syntax". ReScript. Retrieved November 12, 2025.
  12. ReScript Team (November 12, 2025). "Announcing ReScript 12". ReScript Blog. Retrieved December 21, 2025.