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).
This program is tentative and subject to change.
Fri 28 Aug Times are displayed in time zone: (GMT-04:00) Eastern Time (US & Canada) change
|09:00 - 09:30|
Jan MidtgaardUniversity of Southern Denmark
|09:30 - 10:00|
Tom RidgeUniversity of Leicester, UK
|10:00 - 10:30|
|10:30 - 11:00|