I currently work as a PhD student on CPC, an experimental dialect of the C language, designed to write concurrent programs. A CPC program is compiled into plain C through a series of source-to-source transformations.
My work so far has been to prove the correctness of the transformations performed by the CPC translator. I then reimplemented it from scratch in OCaml (based on an former prototype written in Common Lisp by Juliusz Chroboczek). I also performed a series of benchmarks and I am involved in the development of Hekate, a BitTorrent seeder written in CPC.
More information about the CPC translator, including source code, is available on the dedicated page. A long paper about CPC, describing both theoretical and experimental aspects, is currently pending review; it contains everything you might wish know, and probably a little bit more. Some more benchmarking results are available in a technical report. I also gave several talks about CPC; the slides are available on demand.
Gabriel Kerneis, Juliusz Chroboczek. Continuation-Passing C, compiling threads to events through continuations. Submitted for publication (inria-00537964). 2012.
Gabriel Kerneis, Juliusz Chroboczek. Lambda-lifting and CPS conversion in an imperative language. Technical report, Université Paris Diderot (hal-00669849). 2012.
Gabriel Kerneis, Juliusz Chroboczek. CPC: programming with a massive number of lightweight threads. PLACES'11 (hal-00563369). 2011.
Gabriel Kerneis.
CPC, compiling threads to events
efficiently.
ACACES'10 (poster
session). 2010.
A0 poster (5,1 MB).
Gabriel Kerneis, Juliusz Chroboczek.
Are events fast?.
Technical report, Université Paris Diderot (hal-00434374).
2009.
Experimental setup: how to benchmark a web server.
Gabriel Kerneis. CPC, des threads coopératifs par passage de continuation. M.Sc. thesis. 2008.
I also supervised Matthieu Boutier, who worked as an undergraduate student on an alternative version of CPC where local variables are saved in environments rather than lambda-lifted. You might be interested in Matthieu's thesis (in French).
Matthieu Boutier. Sauvegarde de variables locales en CPC. Undergraduate thesis. 2011.