Write a Blog >>
ICFP 2020
Thu 20 - Fri 28 August 2020
Fri 28 Aug 2020 10:00 - 10:30 at OCaml - Applications Chair(s): Marcello Seri

Irmin is an OCaml library for building distributed databases with the same design principles as Git. Existing Git users will find many familiar features: branching/merging, immutable causal history for all changes, and the ability to restore to any previous state. It has been extensively used by major software projects over the past few years such as Docker for Mac/Windows, and noticeably through \emph{DataKit}, which powers hundreds of thousands monthly builds on the opam-repository CI contributors may be familiar with.

Irmin v2 adds new accessibility methods to the store: we can now use Irmin from a CLI, or in a browser using irmin-graphql. It also has a new backend, irmin-pack, which is optimised for space usage and is used by the Tezos blockchain. With over 100K users, Tezos demonstrates that, again, Irmin is suitable for production deployment in large systems.

This presentation will start with short overview of Irmin’s architecture. We will then show the new features of Irmin v2, including using Irmin from the command line or from a browser using GraphQL queries. We will present the irmin-pack backend, demonstrating that Irmin is capable of meeting challenging space and consistency constraints. We will conclude by presenting some other fun features, such as ppx_irmin.

Fri 28 Aug
Times are displayed in time zone: Eastern Time (US & Canada) change

09:00 - 11:00: ApplicationsOCaml at OCaml
Chair(s): Marcello SeriBernoulli Institute for Mathematics, Computer Science and Artificial Intelligence, University of Groningen

Talks about new and existing OCaml applications and libraries.

09:00 - 09:30
A Simple State-Machine Framework for Property-Based Testing in OCaml
Jan MidtgaardUniversity of Southern Denmark
09:30 - 10:00
The ImpFS filesystem
Tom RidgeUniversity of Leicester, UK
10:00 - 10:30
Irmin v2
10:30 - 11:00
AD-OCaml: Algorithmic Differentiation for OCaml
Markus MottlUnaffiliated