package owi

  1. Overview
  2. Docs


owi is an OCaml toolchain to work with WebAssembly. It provides an interpreter as an executable and a library.

To get started, have a look at the quickstart section of the README.


  • Owi.Parse Module providing functions to parse a wasm script from various kind of inputs.
  • Owi.Types Types of text modules, as produced by the parser. Many parts of it are reused later in the interpreter.
  • Owi.Compile Utility functions to compile a module until a given step.
  • Owi.Check Initial check done on a module.
  • Owi.Simplify Module to simplify a text module. It contains the types of simplified modules.
  • Owi.Typecheck Module to typecheck a simplified module.
  • Owi.Link Module to link a simplified/extern module and producing a runnable module along with a link state.
  • Owi.Log Module to enable or disable the printing of debug logs.
  • Owi.Interpret Module to interpret a linked module.
  • Owi.Script Module to execute a full Wasm script.
  • Owi.Pp Module to pretty print the various types such as text module or simplified module.
  • Owi.Value Module to define externref values in OCaml. You should look in the `example` directory to understand how to use this before reading the code...

Private API

You shouldn't have to use any of these modules, they're used internally only.


Innovation. Community. Security.