Presentation: Functional Distributed Programming with Irmin


Day of week:

10:15am - 11:05am

We enjoy the benefits of distributed version control with our source code: the ability to pull, push and merge multiple streams of work and view the provenance of all changes. Irmin is a library that provides mergeable binary datastructures that can be manipulated much like Git (with pull, push and merge operators), and form higher level control structures for persistent work queues, key-value stores, all with well-defined consistency properties. The results of Irmin operations can be viewed directly using Git, leading to a fresh perspective on how to debug and trace complex distributed systems.

In this talk, I'll introduce the Irmin library by means of a functional queue, show how the Git mirroring works, and then demonstrate some more complex applications such as its use in as a unikernel storage layer. Irmin also works in the browser as a pure JavaScript library, and I will demonstrate the "Cuekeeper" GTD application built using it. Finally, I'll discuss some of the implications of designing our applications to be Git friendly.

Anil Madhavapeddy Elsewhere

Similar Talks

Research Fellow at the University of Glasgow
Java Champion and Author of "Java Generics and Collections"


Wednesday Jun 10

Thursday Jun 11

Friday Jun 12

Conference for Professional Software Developers