Research

Table of Contents

Papers

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?

Paper

Tail Modulo Cons (JFLA 2021)

With Basile Clément and Gabriel Scherer.

Adding tail-modulo-constructor optimization to OCaml.

Paper

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.

Paper

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.

See

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)

TODO

Inuit (OCaml workshop 2016)

See

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.

Paper

TODO: Poster at PPM 2016?

Merlin (OCaml Workshop 2013)

TODO

OCaml Users in Paris

TODO

Academic service