A strongly typed language for the web!
OCaml Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
examples
lib
src
test
.gitignore
.merlin
.travis.yml
LICENSE
Makefile
README.md
_tags
logo.png

README.md

img

A strongly typed language for the web.

Syntax
val gcd = /\(a, b) => {
  if a == b then a
  else {
    if a > b
    then gcd((a - b), b)
    else gcd((b - a), a);
  };
};

print_num(gcd(12, 8));

// support for optional types
val pow = /\(base, exp) => {
  val aux = /\(accum, e): num => {
    if (e == 1) then accum
    else aux (accum * base, e - 1);
  };
  aux(base, exp);
};

val chess_squares = pow(8, 2);

print_string("Total number of squares on a chessboard: ");
print_num(chess_squares);

Install

  1. Install ocaml
    • For mac, using homebrew: brew install ocaml ocamlbuild opam
  2. Configure opam enviroment: opam init
  3. Install dependencies: opam install ocamlfind core menhir

Build

$ make clean
$ make

Compile

$ ./jsjs.out examples/list.jsjs
$ node out.js

Test

$ make test
$ make run-test