View on GitHub


Documenting everything about OCaml


Systems Programming

Number Types

  • ocplib-endian: Read and write all sizes of integers, both big and little endian, from Bigarrays, strings and bytes.
  • Bytes: The standard library has functions to read little endian and big endian numbers of different sizes, both signed and unsigned, from bytes.
  • Integers: A library for support of unsigned and signed types of different sizes.
  • StdInt: More comprehensive library for manipulation of unsigned and signed types of different sizes. Includes the ability to read big endian and little endian numbers.

Mirage OS

Mirage OS Applications

  • Canopy: A blogging MirageOS unikernel based on git. Can be compiled to Unix as well.

Embedded Programming

  • OMicroB: OCaml virtual machine for devices with limited resources such as microcontrollers. Based on this paper.
  • OCaPIC: OCaml for PIC microcontrollers.

Lower-level OS Libraries

  • kqueue: Bindings to the kqueue event notification interface in BSD-style systems.


  • ocamlunix: Great introduction to systems programming in OCaml