hello-reason instead
!DEPRECATED! UseOriginal README below:
ReasonNativeProject
Reason
project for native compilation:
Develop With OPAM
Build:
Clone the repo and run these commands from within the project:
opam update # get the latest opam packages data. Skip this optionally
# opam will read into the `opam` file and add the other dependencies
opam install reason
opam install merlin
opam install re
make build # build/rebuild your files
Run:
./_build/install/default/bin/reason-native-bin
Develop:
- Make sure you have
merlin
globally installed (via opam, notreason-cli
!) - See the ReasonML
docs about setting
up your editor. Just remember to not install
reason-cli
when usingopam
.
Preliminary Esy Support
You may alternatively use esy
to build and develop this
project. (esy
is like "npm for native"). This is preferable for people who
want to build native Reason projects using existing opam packages, but with a
more familiar and sandboxed workflow. This is experimental and not stable yet.
Please report any issues to the esy repo.
Build:
npm install -g esy@latest
esy install
esy build
Run:
Use esy x
("esy execute") command to run the binary.
esy x reason-native-bin
Develop:
- See the ReasonML docs about setting up your editor.
- Start your editor from the root of this project via
esy vim
oresy atom
etc. (Note VSCode has specialesy
support so that you don't need to start it this way from the command line). - Add dependencies by adding entries to the
package.json
, runningesy install
thenesy build
.
Developing Your Project
The entrypoint of this project is the ./bin/test.re
file. Make a simple
change to it and then rerun the build.
ReasonNativeProject
is meant to be the starting point of your own project. You'll
want to make use of existing libraries in your app, so browse the growing set
of opam
packages in the opam repository.
Troubleshooting
In general, if something goes wrong, try upgrading your install of the project
by running opam upgrade ReasonNativeProject
, or if it failed to install and you
later fixed it, opam install ReasonNativeProject
.