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 AugDisplayed time zone: Eastern Time (US & Canada) change

 09:00 - 11:00 ApplicationsOCaml at OCaml Chair(s): Marcello Seri Bernoulli Institute for Mathematics, Computer Science and Artificial Intelligence, University of GroningenTalks about new and existing OCaml applications and libraries. 09:0030mTalk A Simple State-Machine Framework for Property-Based Testing in OCamlOCamlJan Midtgaard University of Southern Denmark 09:3030mTalk The ImpFS filesystemOCamlTom Ridge University of Leicester, UK 10:0030mTalk Irmin v2OCamlClément Pascutto Tarides, Université Paris-Saclay, CNRS, ENS Paris-Saclay, LMF, Ioana Cristescu INRIA, France, Craig Ferguson Tarides, Thomas Gazagnaire Tarides, Romain Liautaud Tarides 10:3030mTalk AD-OCaml: Algorithmic Differentiation for OCamlOCamlMarkus Mottl Unaffiliated