History
(2017) Random testing with Benjamin C. Pierce at the University of Pennsylvania.
(2016) Bidirectional programming with Meng Wang at the University of Kent.
- A monadic framework for bidirectional programming. Paper draft. Inspired by the codec package.
(2015) Participated in the design of Luck, a DSL for writing random generators as annotated predicates, at INRIA Paris with Cătălin Hriţcu, Leonidas Lampropoulos, Benjamin C. Pierce, John Hughes.
(2014) Internship on prefix circuits (parallel implementations of scan) with Mary Sheeran at Chalmers University.
(2013) How to efficiently sign paper contracts? An approach to a combinatorics problem, with David Naccache at ENS Paris.
Past projects
boltzmann-samplers: another general way to generate random values.
Unfortunately, that is subsumed by FEAT both in expressiveness and in performance, even though Boltzmann generators theoretically have the best asymptotic complexity. For more information, see this issue.
ProVogon (in French): the game of the Prologin contest in 2016 for which contestants had to develop an AI during one weekend. The code is available on Bitbucket. It uses the Stechec2 framework developped by Prologin. (C++)
twentyseven: a Rubik’s cube solver. It’s still having trouble solving most cubes optimally though. (Haskell)
A “MiniHaskell” type-checker (MH is ML + type classes), for the functional programming course. (OCaml)
MiniC compiler, for the compilers course. (OCaml)
Netlist simulator + design of a microprocessor (programmable in subleq), for the digital systems course. (OCaml)