View on GitHub


Documenting everything about OCaml



For cryptographic protocols, see Security and Cryptography.

  • obus: Pure OCaml implementation of the D-bus IPC protocol, used by Freedesktop and Linux.
  • onanomsg: nanomsg bindings for OCaml.
  • MQTT: MQTT is a protocol for the Internet of Things.
  • Kafka: OCaml bindings for Apache Kafka.
  • AMQP: AMQP client library for Async and Lwt.
  • MPI: Message Passing Interface bindings for OCaml.
  • MQTT: OCaml implementation of the MQTT pubsub protocol.
  • asn1-combinators: Use the ASN.1 standard. See introducing ASN.1
  • IMAP: lwt-compatible implementation of IMAP4rev1.
  • wayland: Pure OCaml implementation of the Wayland graphical protocol, used in Linux.


  • ocaml-zmq: ZeroMQ bindings for OCaml.
  • async-zmq: Async wrapper around ocaml-zmq.
  • lwt-zmq: Lwt-friendly interface to ZeroMQ for OCaml.




  • vcaml: Bindings for Neovim. Contains the fullest implementation of msgpack for OCaml.
  • ocaml-msgpck: another implementation of msgpack.
  • msgpack-ocaml: Slower, but the implementation is backed by a proof in Coq.


  • optint: OCaml’s built-in int is 63-bits on 64-bit platforms and 31-bits on 32-bit platforms. optint allows 64-bit platforms to use the native int type for 32-bit values, while boxing on those platforms that need it (32-bit). This is extremely useful for high-performance interop with other languages, network protocols etc.