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:
- cDuce - cDuce is a modern XML-oriented functional language with innovative features.
- Compcert C Compiler - It is a C Compiler supporting most of the ISO C90 and C99 / ANSI C features.
- Eff Programming Language - Eff is a functional language with handlers of not only exceptions, but also of other computational effects such as state or I/O.
- Hack Programming Language
- Haxe Programming Language
- Neko Programming Language - Originally the compiler was written in OCaml.
- Mezzo Programming Language - Mezzo is a programming language in the ML tradition, which places strong emphasis on the control of aliasing and access to mutable memory.
- OCaml-Java - OCaml to Java bytecode compiler.
- Opa Programming Language
- Rhine – A Lisp on LLVM written in OCaml.
- Rust Programming Language - Originally written in OCaml before bootstrapping.
- Quick C– Target Language - It is now a dead project. [https://github.com/nrnrnr/qc– Github Repo]. [http://www.cs.tufts.edu/~nr/c–/qc–.html Alternative website].
- tis-interpreter - An interpreter for finding subtle bugs in programs written in standard C
- Reason - Friendly syntax & toolchain for OCaml by Facebook.
Parser and Lexer Generators:
- Opal – Self-contained monadic parser combinators for OCaml.
- Sedlex is a modern, encoding-agnostic (read: Unicode-supporting) lexer generator (the ppx-based successor to [http://www.cduce.org/download.html#side ulex].)
- Menhir – Menhir is a LR(1) parser generator for OCaml.
- ocamllex/ocamlyacc – lex and yacc implementation for OCaml.
- Angstrom - Parser combinators built for speed and memory efficiency