Research

☳ Mezzo

My PhD thesis was about
Mezzo. Mezzo is a programming
language in the tradition of ML, which tracks ownership and aliasing
in an accurate manner. Thanks to a careful balance between static
verification and runtime checks, we believe Mezzo enables the
programmer to write more powerful programs, especially in a concurrent
setting.

Thibaut Balabonski, François Pottier, and Jonathan Protzenko.
The design and formalization of Mezzo, a
permission-based programming language.
Submitted for publication, July 2014.
[ PDF ]
A comprehensive reference that covers the surface
syntax of the language, the type system, and the latest
version of the proof of soundness.

Jonathan Protzenko. Mezzo, the language of the
future. PhD Dissertation. [ PDF ]
The most up-to-date document for the
implementation of the Mezzo type-checker.

Armaël Guéneau, François Pottier, and Jonathan Protzenko.
The ins and outs of iteration in Mezzo. HOPE'13. [ PDF ]
A good illustration of the expressive
power of Mezzo.

☲ Other publications

Jonathan Protzenko, with contributions by Benoît Picaud.
Les Cahiers du programmeur XUL, Eyrolles, 2005.
[ the book's website ]
I wrote a book about developing Mozilla addons. I was younger,
back then.

☶ Teaching assistantship

2013-2014 I worked on the
online algorithms course from École Polytechnique, on Coursera.

2011-2013 I was a teaching assistant for INF431
(algorithms) and « Modal Web » (Web programming) at École
Polytechnique

2010-2011 I was a teaching assistant for INF311
(introduction to algorithms) at École Polytechnique

Hacking

☷ OCaml

When I get headaches from working on type systems, I maintain the
OCaml installer for Windows. Not sure what's worse.
[ download ]
[ on GitHub ]

⚏ Mozilla

I'm a Mozilla contributor although I haven't had much time available
lately. I maintain addons, attend MozCamps when time permits, give a
few talks here and there, and occasionally lurk on IRC.
I mostly hack on Thunderbird, but I've been known to fix
a few bugs in Gecko and Firefox.

Thunderbird Conversations
I assumed it would take me two months to write this addon, it took
me two years.
[ download it ]
[ on GitHub ]

Manually Sort Folders
Another addon, because I like to have my folders tidy.
[ download it ]
[ on GitHub ]

Compose for Thunderbird, abandoned
Re-implements the composition workflow, including the UI, and the
sending backend, in Javascript, by leveraging CKEditor. That's
just too much work for a single person, so I abandoned the
project. Plus, I'm trying to get a life.
[ download it ]
[ on GitHub ]

Thunderbird Stdlib
A toolkit that you can build upon for your Thunderbird addons.
Used heavily by Conversations and Compose.
[ on GitHub ]

FOSDEM 2011
I gave a talk on developing Thunderbird Addons at FOSDEM 2011,
in Brussels. I don't know where the slides are. Anyway, the ones
from the MozCamp are better.

⚎ Misc.

A stylesheet for LaTeX documents.
It gives a very condensed, two-column layout for article
document classes. It also adds a \part command that gives
the book-like heading seen in my reports (see here for an example). The heading
was initially an attempt to reproduce the style of the French
LaTeX pour l'impatient book.
[ the stylesheet ]

The source code is
GPL-licensed, the text is .
Of course, it doesn't validate.
But guess what? It still displays fine.