Reason (programming language)

From Wikipedia, the free encyclopedia
Designed byJordan Walke
First appearedMay 16, 2016; 7 years ago (2016-05-16)[1]
Stable release
3.10.0[2] Edit this on Wikidata / September 10, 2023; 5 months ago (September 10, 2023)
LicenseMIT License
Filename, .rei Edit this at Wikidata

Reason, also known as ReasonML, is a syntax extension and toolchain for OCaml created by Jordan Walke, who also created the React framework, at Facebook.[3] 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.[4]

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

BuckleScript and ReScript[edit]

Reason was originally compiled to JavaScript using the BuckleScript compiler,[6] 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.[7]

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


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

External links[edit]