Participants : David Nowak, Xavier Leroy
Au cours de son stage de maîtrise, David Nowak a réalisé une implémentation de la bibliothèque de processus communicants Concurrent ML pour Concurrent Caml Light, la version multi-processeurs de Caml Light. Concurrent ML fournit des primitives de communication entre processus de haut niveau, à base de canaux de communication et d'événements synchrones de communication qui peuvent être composés et manipulés comme des valeurs de première classe.
Avant le travail de David Nowak, la seule implémentation existante de Concurrent ML n'exploitait qu'un seul processeur et reposait sur un entrelacement des calculs à l'aide de la primitive callcc (manipulations de continuations). L'implémentation de David Nowak est la première à tirer parti des machines multi-processeurs, et s'appuie sur des primitives de parallélisme plus répandues que callcc (mémoire partagée, verrous et conditions, comme dans le standard Posix). Une version mono-processeur de cette implémentation est actuellement distribuée avec le système Caml Special Light.