sebmarkbage / reason

Friendly Syntax & Toolchain Powered by OCaml

Home Page:http://facebook.github.io/reason

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Reason: Build Systems Rapidly Build Status

  • Approachable syntax.
  • Powerful, automatic source code formatting.
  • Adopt incrementally with JavaScript/C interop.
  • Ahead-of-time compilation to assembly - without a language level VM.
  • Rapidly develop and share projects.

Install Stable

# On OSX, install opam via Homebrew:
brew update
brew install opam
# On Linux, see here (you will need opam >= 1.2.2): http://opam.ocaml.org/doc/Install.html

opam init
# Add this to your ~/.bashrc (or ~/.zshrc):
#   eval $(opam config env)

opam update
opam switch 4.02.3
eval $(opam config env)
opam pin add -y merlin 'https://github.com/the-lambda-church/merlin.git#reason-0.0.1'
opam pin add -y merlin_extend 'https://github.com/let-def/merlin-extend.git#reason-0.0.1'
opam pin add -y reason 'https://github.com/facebook/reason.git#0.0.6'

Test Installation

Test the installation by compiling the following program:

echo 'print_string "Hello world"' > Hello.re

rebuild Hello.native # Automatically generates Hello.native from Hello.re

./Hello.native

Get Started Now

Check out the docs which guide you through the basic syntax and toolchain features.

Contribute back to that documentation in the docs folder.

Community

Get in touch! We're on IRC freenode #reasonml, and Gitter.

Contributing To Development

# On OSX, install opam via Homebrew:
brew update
brew install opam
# On Linux, see here (you will need opam >= 1.2.2): http://opam.ocaml.org/doc/Install.html

opam init
# Add this to your ~/.bashrc (or ~/.zshrc):
#   eval $(opam config env)

opam update
opam switch 4.02.3
eval $(opam config env)
opam pin add -y merlin 'https://github.com/the-lambda-church/merlin.git'
opam pin add -y merlin_extend 'https://github.com/let-def/merlin-extend.git'
git clone git@github.com:facebook/reason.git
cd reason
opam pin add -y reason .

If the compilation of Reason does not succeed after pinning merlin/merlin-extend as described above, then a change to merlin or merlin-extend may have broken Reason (please file a Github Issue). We should try to keep all three projects' master branches compatible with each other.

License

New content is licensed under the MIT license, works that are forked from other projects are under their original licenses. MIT license

Editor plugins (which have also been forked) in the editorSupport/ directory include their own licenses.

About

Friendly Syntax & Toolchain Powered by OCaml

http://facebook.github.io/reason

License:Other


Languages

Language:OCaml 62.9%Language:Emacs Lisp 13.3%Language:Rust 7.3%Language:JavaScript 6.8%Language:Vim Script 3.1%Language:Shell 3.0%Language:CoffeeScript 1.9%Language:CSS 0.9%Language:Makefile 0.4%Language:Python 0.3%Language:Standard ML 0.1%