View on GitHub


Documenting everything about OCaml


Compilers, Typecheckers, and Parsers

Because OCaml is one of the best tools for creating compilers, typecheckers, etc, you’ll find a wide variety of projects made in OCaml.

Languages and Compilers:

Parsers and Lexers

  • Angstrom: Parser combinators targetted at fast protocols, built for speed and memory efficiency
  • Sedlex: a modern, encoding-agnostic (read: Unicode-supporting) lexer generator.
  • Menhir: An LR(1) parser generator for OCaml.
  • Nice Parser: Remove boilerplate from OCaml parser generators using Menhir and Sedlex.
  • ocamllex/ocamlyacc: lex and yacc C-based implementation for OCaml. Were the go-to solution for many years.
  • Opal: Self-contained monadic parser combinators for OCaml.
  • Obelisk: produce readable LaTeX, HTML, or plain-text EBNF-style documentation for your grammar.

Type Checkers

  • Flow: A typechecker for Javascript written by Facebook.
  • Pyre: A typechecker for Python written by Facebook.


  • mpst: Multiparty Session Types. A communication library guaranteeing important properties.


  • pp-loc: PPX processor that generates nice error messages, just like the OCaml compiler.