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

This proposal describes a presentation to be given at the OCaml’20 workshop. The presentation will cover a new OCaml filesystem, ImpFS, and the related libraries. The filesystem makes use of a B-tree library presented at OCaml’17, and a key-value store presented at ML’19. In addition, there are a number of other support libraries that may be of interest to the community. ImpFS represents a single point in the filesystem design space, but we hope that the libraries we have developed will enable others to build further filesystems with novel features.

An interesting aspect of our libraries is that we have tried to ensure that each component has a clear mathematical semantics. For example, each library is written in a purely-functional style, using a monad, and the concurrency model is simple step-wise interleaving. For performance reasons, and to integrate with external libraries such as FUSE, it is of course possible to support real mutation (of buffers, and the underlying block device, for example), and “real” threads (e.g. by using OCaml’s light-weight thread libraries such as Lwt).

Conference Day
Fri 28 Aug

Displayed 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
30m
Talk
A Simple State-Machine Framework for Property-Based Testing in OCaml
OCaml
Jan MidtgaardUniversity of Southern Denmark
09:30
30m
Talk
The ImpFS filesystem
OCaml
Tom RidgeUniversity of Leicester, UK
10:00
30m
Talk
Irmin v2
OCaml
Clément PascuttoTarides, Université Paris-Saclay, CNRS, ENS Paris-Saclay, LMF, Ioana CristescuINRIA, France, Craig FergusonTarides, Thomas GazagnaireTarides, Romain LiautaudTarides
10:30
30m
Talk
AD-OCaml: Algorithmic Differentiation for OCaml
OCaml
Markus MottlUnaffiliated