Build a type-safe web front-end using Reason compiled to JavaScript, catching bugs at compile time instead of as runtime crashes.
Write a high-performance native server application in Reason that shares business logic with a browser front-end.
Contribute to or extend the Reason compiler and formatter tools for developers working on the language itself.
Installation for contributors uses esy and requires building the formatter tooling from source.
Reason is a programming language built on top of OCaml, a language known for its strong type system and fast execution speed. Reason provides a different syntax for writing OCaml code, one that is designed to look more familiar to people who already know JavaScript. The goal is to give developers access to OCaml's safety and performance characteristics while using a style of code that feels closer to what modern JavaScript and React developers are used to. The connection to JavaScript is practical. Reason code can compile to efficient native binaries, or it can compile to JavaScript through a tool called BuckleScript (now Melange), making it usable in web front-end projects. This means a team could write Reason code and deploy it both as a fast native server application and as a JavaScript bundle for a browser. Type safety means the compiler catches many mistakes before the code ever runs. If you pass the wrong kind of value to a function, or forget to handle a possible failure case, the compiler flags it as an error. This is a different experience from standard JavaScript, where those kinds of mistakes usually appear as runtime crashes. The README for this repository is brief and points primarily to the external documentation site for user-facing guides. The repository itself contains the implementation of the Reason formatter and syntax tools, and it includes contributor documentation in a docs directory for people working on Reason itself rather than just using it. Installation for contributors involves a package manager called esy. The project has a Discord community for questions and discussion.
← reasonml on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.