---
key: pl/reason
kind: plang
name: "Reason"
url: https://plangs.page/reason
---

# Reason

> Multi-paradigm language focusing on functional programming, compiling to OCaml and JavaScript.

General-purpose, high-level, multi-paradigm programming language and syntax extension for OCaml, created by Jordan Walke at Facebook. It focuses on functional and object-oriented programming features and compiles to native code via OCaml's compiler, as well as to JavaScript using a ReScript compiler.

## Facts

- Appeared: 2016
- Homepage: https://reasonml.github.io
- GitHub: https://github.com/reasonml/reason
- Languish ranking: #245

## Relationships

### Paradigms

- [Functional](https://plangs.page/paradigm/functional)
- [General-Purpose](https://plangs.page/paradigm/general-purpose)
- [Modular](https://plangs.page/paradigm/modular)
- [Multi](https://plangs.page/paradigm/multi)
- [Object-Oriented](https://plangs.page/paradigm/oop)

### Platforms

- [Cross-Platform](https://plangs.page/platform/cross)
- [Linux](https://plangs.page/platform/linux)
- [Windows](https://plangs.page/platform/windows)

### Type Systems

- [Flow-Sensitive](https://plangs.page/type-system/flow)
- [Generic](https://plangs.page/type-system/generic)
- [Object-Oriented](https://plangs.page/type-system/object)
- [Static](https://plangs.page/type-system/static)
- [Strong](https://plangs.page/type-system/strong)

### Compiles To

- [JavaScript](https://plangs.page/javascript)
- [OCaml](https://plangs.page/ocaml)

### Dialect of

- [OCaml](https://plangs.page/ocaml)

### Influenced By

- [JavaScript](https://plangs.page/javascript)
- [OCaml](https://plangs.page/ocaml)

### Written With

- [OCaml](https://plangs.page/ocaml)

### Licenses

- [MIT](https://plangs.page/license/mit)

### Tags

- [Application](https://plangs.page/tag/app)
- [Application Framework](https://plangs.page/tag/framework)
- [Compiler](https://plangs.page/tag/compiler)
- [Interpreter](https://plangs.page/tag/interpreters)
- [Scripting](https://plangs.page/tag/scripting)
