Skip to content

OCamlPro/wasocaml

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wasocaml

Wasocaml is an OCaml compiler to Wasm.

It uses the Flambda IR of the compiler as a source language and targets Wasm-GC.

Quickstart

Install

Binaryen

You need the wasm-merge binary in your path. You can get it from the main branch of Binaryen.

$ git clone https://github.com/WebAssembly/binaryen.git
$ cd binaryen
$ git submodule init
$ git submodule update
$ cmake . && make
$ sudo make install

Wasocaml

You can now build and install Wasocaml. You can either build the compiler locally or install a switch with the Wasocaml compiler.

Locally
$ ./configure --enable-flambda
$ make
$ sudo make install
Opam switch
$ opam switch create wasocaml --repos default,wasocaml=git+https://github.com/ocamlpro/wasocaml-opam.git ocaml-variants.4.14.1+wasocaml

Usage

Running the compiler will produce two files: a.out.wasm (the Wasm binary) and a.out.wat (the Wast text format).

$ /usr/local/bin/ocamlopt file.ml
$ ls
a.out a.out.wasm a.out.wat

For a complete example using the compiler installed as an opam switch, see wasocaml-demo.

Publications & talks

Publications

Talks