Gabriel Scherer: Software

My picture

(Last page update: January 2024)

Active participation

OCaml

My main software development activity is my contribution to the OCaml language implementation. I have been one of the core developers since October 2011. I have contributed to many parts of the compiler codebase, and in particular I try to help other contributors in the OCaml community have a good experience by helping with the triaging of bugs and review and integration of patches.

Contributing to the OCaml project is deeply enjoyable as a free software programming experience. For me, it also serves two orthogonal purposes. First, it is a regular source of questions, discussions and ideas about programming languages in general, either theoretical and practical aspects, that is a source of inspiration for my programming language research. Second, it lets me keep in touch with the realities of developing a relatively-large project within a relatively-large team of contributors and relatively-rigorous engineering practices -- I believe that is a valuable source of inspiration to understand and improve the experience of programming in general.

Notable changes

Notable changes that I have worked on include:

Past participation

Mustache specifications

Mustache is a simple templating syntax. In 2020-2021 I contributed to the ocaml-mustache implementation, in particular I implemented decent error reporting and template inheritance.

At the time the mustache specification was dormant and unmaintained. I asked the maintainers to onboard new people (not me!) to allow the project to move forward.

ppx libraries

Between 2018 and 2021 I was the active maintainer of ppx_deriving and ppx_import; these projects were handed out to me by whitequark.

OCamlbuild

Between 2013 and 2019 I was the de-facto maintainer of ocamlbuild, one of the build systems used to build OCaml projects. The project has been dormant since, as it was mostly remplaced by the dune build system. ocamlbuild still works fine and keeps building some existing projects, but it is in very minimal maintenance work -- shared with Kate Deplaix.

Batteries

Between 2008 and 2019 I was an active contributor to the Batteries OCaml library, a community-developed extension to the (admittedly minimal) OCaml's standard library. I was the de-facto maintainer from 2010 to 2019, with François Berenger taking over since.

Interesting alternatives are Simon Cruanes' Containers library, and Jane Street's Base and Core libraries. The OCaml standard library itself went out of statis around 2016, and is now regularly accruing new convenience functions.

Small projects