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.
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.
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