View on GitHub

OCamlverse

Documenting everything about OCaml

Edit

Protocols

  • obus: Pure OCaml implementation of the D-bus IPC protocol, used by Freedesktop and Linux.
  • onanomsg: nanomsg bindings for OCaml.
  • 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.

ZeroMQ

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

Protobuf

Capn-Proto

Msgpack

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

Security and Cryptography

  • ocaml-tls: TLS in pure OCaml.
  • awa-ssh (WIP): SSH implementation in OCaml, for Mirage.
  • ocaml-libssh: Bindings to libssh.
  • Digestif: Hash algorithms (like SHA* or BLAKE2*) in OCaml and C.
  • cryptokit: The Cryptokit library for OCaml provides a variety of cryptographic primitives that can be used to implement cryptographic protocols in security-sensitive applications.
  • nocrypto: A small cryptographic library behind the ocaml-tls project. It is built to be straightforward to use, adhere to functional programming principles and able to run in a Xen-based unikernel.
    • The differences between nocrypto and cryptokit cryptographic libraries are described in this blog post