In this chapter, I give tips for getting started with the programming language ReasonML.
There are two things to install:
bs-platform
: Installs BuckleScript and enables you to compile ReasonML to JavaScript. The installation is described in the ReasonML docs.reason-cli
: Needed to support ReasonML in editors, but also contains various tools, including the interactive ReasonML command line rtop
. The installation is described in the ReasonML docs. Editor support is provided by two parts:
The ReasonML website contains an online playground that is very useful for seeing how the language works and what the corresponding JavaScript and OCaml code is. It can also convert from OCaml to ReasonML (more on that later).
The playground’s examples give you a first taste of the language.
rtop
, the interactive ReasonML command linertop
is an interactive command line for ReasonML and started via rtop
from a shell. Once it runs, interacting with it looks as follows.
Reason # 3 + 4;
- : int = 7
You can already see that everything has a static type in ReasonML. Don’t forget the semicolon at the end – it triggers evaluation! You can quit rtop
via Ctrl-D or via #quit;
There are two template projects to get you started. They are created via bsb
(which is part of bs-platform
):
bsb -init my-first-app -theme basic-reason
bsb -init my-react-app -theme react
Given that most material relevant for ReasonML uses OCaml’s syntax, it’s very useful to be able to convert from OCaml’s syntax to ReasonML’s. There are two ways of doing so:
refmt
(“ReasonML format”) that is part of reason-cli
. Get documentation via refmt --help