Reason (programming language)

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Designed byJordan Walke
First appearedMay 16, 2016; 6 years ago (2016-05-16)[1]
Stable release
3.8.1 / June 28, 2022
LicenseMIT License
Filename, .rei

Reason, also known as ReasonML, is a syntax extension and toolchain for OCaml created by Jordan Walke, who also created React, at Facebook.[2] Reason offers a syntax familiar to JavaScript programmers, and compiles to native code using OCaml's compiler toolchain. Reason code may also be compiled to JavaScript using the ReScript compiler.[3]

The Reason community officially provides ReasonReact as a solution for React based web applications.[4]

BuckleScript and ReScript[edit]

Reason was originally compiled to JavaScript using the BuckleScript compiler,[5] which was created at Bloomberg L.P.

In 2020, BuckleScript was rebranded to ReScript, essentially creating a separate language that had different syntax from Reason and only compiled to JavaScript.[6]

The ReScript compiler continues to support Reason syntax, and the two languages share that part of the toolchain.

See also[edit]

  • Elm: a functional language that uses an abstraction called ports to communicate with JavaScript
  • PureScript: a strongly-typed, purely-functional programming language that compiles to JavaScript
  • ReScript: a functional programming language that compiles to JavaScript and shares part of the Reason/OCaml toolchain


  1. ^ Simple, fast & type safe code that leverages the JavaScript & OCaml ecosystems: facebook/reason, Facebook, 2019-03-23, retrieved 2019-03-23
  2. ^ "What is ReasonML?". 2ality. Retrieved 2019-03-23.
  3. ^ "Overview | ReScript Documentation". Retrieved 2020-08-10.
  4. ^ "ReasonReact". GitHub.
  5. ^ "BuckleScript". bloomberg. Retrieved 2022-09-11.
  6. ^ "BuckleScript & Reason Rebranding". rescript-lang. Retrieved 2022-09-11.

External links[edit]