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 Groningen Talks about new and existing OCaml applications and libraries. | ||
09:00 30mTalk | A Simple State-Machine Framework for Property-Based Testing in OCaml OCaml Jan Midtgaard University of Southern Denmark | ||
09:30 30mTalk | The ImpFS filesystem OCaml Tom Ridge University of Leicester, UK | ||
10:00 30mTalk | Irmin v2 OCaml Clé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:30 30mTalk | AD-OCaml: Algorithmic Differentiation for OCaml OCaml Markus Mottl Unaffiliated |