Faster reachability analysis for LR(1) parsers

With François Pottier.

The goal is to improve the performance of menhir --list-errors feature to enable new applications. This implies efficiently solving the reachability problem for LR(1) parsers: given an automaton state $s$ and a terminal $t$, is there an input sentence that lets us reach this state $s$ with the lookahead $t$?


Tail Modulo Cons (JFLA 2021)

With Basile Clément and Gabriel Scherer.

Adding tail-modulo-constructor optimization to OCaml.


Merlin: A Language Server for OCaml (Experience Report, ICFP 2018)

With Thomas Refis and Gabriel Scherer.

Merlin does interactive analysis of OCaml programs to provide IDE services that need semantic knowledge: completion and type-checking of identifiers, locating definitions, etc.


Workshop work

Nottui & Lwd - A friendly UI toolkit for the ML programmer

Lwd is a flavor of reactive programming that integrates well with OCaml. Nottui is terminal UI (like ncurses) in pure OCaml, built on top of Notty, that uses Lwd to handle interactions.


CAMLroot: revisiting the OCaml FFI (01/2019, JFLA 2019)

Some lessons on how to make safer bindings between C and OCaml, learned from the implementation of an OCaml binding to the Qt framework.

Paper, Slides (french) presented to a Gallium seminar on 21-01-2019, Slides (english)

Wall (OCaml workshop 2018)


Inuit (OCaml workshop 2016)


Modular implicits (Proceedings ML/OCaml 2014)

Modular implicits is an extension of OCaml that brings ad-hoc polymorphism to the language. It is an alternative to Scala’s implicit and Haskell’s type classes, better suited to ML-style module systems.


TODO: Poster at PPM 2016?

Merlin (OCaml Workshop 2013)


OCaml Users in Paris


Academic service