Bucklescript getting started
Interested in Bucklescript? You should be. It’s OCaml that compiles to JavaScript. But unlike most compile-to-JS langauges, it’s really, really good. Fast. Produces small, legible JavaScript. And it’s got some of the best type inference in the business.
Here’s how I got up and running on my Mac.
Install OCaml and friends
First, install OCaml. On Mac, this is done like so:
brew install ocaml
brew install opam
opam install merlin utop ocp-indent
Opam is the package manager (e.g. like NPM, gems, nuget) for OCaml.
- utop: a really, really nice REPL.
- merlin: a sweet tool for adding IDE-like features to VSCode, vim, etc
- ocp-indent: a tool for helping auto-indent your .ml files
Setup VS Code:
https://github.com/hackwaly/vscode-ocaml
Set up BuckleScript
mkdir avl
cd avl
npm init
npm install --save bs-platform
Edit package.json
and make scripts look like this:
"scripts" : {
"build" : "bsc -c avl.ml"
}
Test that it all works
Create hi.ml
and make it look like this:
let () =
print_endline "hello world"
Run
npm run build
node hi.js
You should see “hello world” get printed.
Noice!