Reason (programming language)

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
ParadigmMulti-paradigm: functional, imperative, object-oriented
Designed byJordan Walke
First appearedMay 16, 2016; 3 years ago (2016-05-16)[1]
Stable release
3.5.0 / July 15, 2019
Typing disciplineInferred, static, strong, structural
LicenseMIT License
Influenced by

Reason, also known as ReasonML, is a syntax extension and toolchain for OCaml created by Jordan Walke at Facebook.[2] Reason offers a syntax familiar to JavaScript programmers, and transpiles to OCaml.[3] Statically typed Reason (or OCaml) code may be compiled to dynamically typed JavaScript using the BuckleScript compiler.[4]

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

See also[edit]

  • Elm, a functional language that uses ports to communicate with JavaScript
  • TypeScript, a strongly-typed programming language that transpiles 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. ^ "What is ReasonML?". 2ality. Retrieved 2019-03-23.
  3. ^ Gopher, Stupid (2018-11-12). "One week with ReasonML". Medium. Retrieved 2019-03-23.
  4. ^ "What & Why BuckleScript". Retrieved 2019-03-23.
  5. ^ "ReasonReact". GitHub.
  6. ^ Wilson, Ian (2019-04-15). "ReasonML with React Hooks Tutorial — Building a Pomodoro Timer".

External links[edit]