Protocols
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.
ZeroMQ
- ocaml-zmq: ZeroMQ bindings for OCaml.
- async-zmq: Async wrapper around ocaml-zmq.
- lwt-zmq: Lwt-friendly interface to ZeroMQ for OCaml.
Protobuf
- ocaml-protoc-plugin: Full findings to Protobuf messages and types. Implements the full proto3 specification.
- protoc: Compiler from protobuf files to OCaml types.
- ppx_deriving_protobuf: Derive Protobuf files from OCaml types.
Capn-Proto
- capnp-ocaml: Code generator for cap’n-proto.
- capnp-rpc: RPC implemented over cap’n-proto.
Msgpack
- 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
.
Miscellaneous
- 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 nativeint
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.