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 DayFri 28 AugDisplayed time zone: Eastern Time (US & Canada) change
09:00 - 11:00
|A Simple State-Machine Framework for Property-Based Testing in OCaml|
Jan MidtgaardUniversity of Southern Denmark
|The ImpFS filesystem|
Tom RidgeUniversity of Leicester, UK
|AD-OCaml: Algorithmic Differentiation for OCaml|