Une équipe de l'INRIA-Rocquencourt gagne le «ICFP Programming Contest» avec un programme écrit en Objective Caml
Le «ICFP Programming Contest» est un concours de programmation organisé pour la seconde année consécutive à l'occasion de l'«International Conference on Functional Programming» (ICFP), qui a eu lieu à Paris cette année. Le concours consiste à réaliser en moins de 72 heures, dans le langage de programmation de son choix, un programme résolvant un problème particulier. Les programmes sont ensuite comparés selon des critères fixés à l'avance, et les prix sont décernés aux vainqueurs durant une session spéciale de la conférence.Pascal Cuoq, Damien Doligez, Xavier Leroy, Luc Maranget, et Alan Schmitt, chercheurs ou doctorants aux projets Cristal et Para de l'INRIA-Rocquencourt, regroupés en une équipe nommée «Camls 'R us», ont réalisé en moins de 72 heures un programme qui a passé avec succès toutes les épreuves du concours de cette année. Le problème à résoudre consistait en un optimiseur d'arbres de décisions, qui devait produire en moins de 30 minutes un résultat sémantiquement équivalent à l'arbre initial, mais dont la taille était minimisée.
Les soumissions, 38 au total dont certaines réalisées en moins de 24 heures, étaient programmées dans des langages aussi variés que C, C++, Haskell, différentes variantes de ML dont Objective Caml, Scheme, Perl, Python, Icon et même un langage d'assemblage typé dénommé TAL. Parmi celles-ci, on notera celle qui a été rapidement éliminée pour avoir tenté d'attaquer la machine du concours, ainsi que celle de l'équipe TAL qui tentait d'obtenir des résultats dont la taille était légèrement supérieure à 2^32, comptant sur un débordement arithmétique de la machine qui calculait cette taille pour obtenir un résultat plus petit que ses concurrents. Cette dernière, émanant d'une équipe de Cornell University a obtenu le «prix du joker» du Jury pour son ingéniosité.
Le prix spécial du Jury a été décerné à Lennart Augustsson (Chalmers, Suède) pour un programme Haskell de 357 lignes (commentaires inclus) réalisé en moins de 24h qui s'est très honorablement comporté. Lennart Augustsson a été qualifié par le Jury d'«extremely cool hacker» pour cette belle performance.
De nombreuses soumissions ont été éliminées pour avoir rendu des résultats incorrects, voire même pas de résultat du tout. À l'avant-dernier tour de la sélection, 21 programmes restaient en lice. La finale ne comportait plus que 8 concurrents, dont la soumission de l'équipe Camls 'R us, qui a obtenu le meilleur score sur chaque exemple utilisé pour départager les finalistes.
Le programme de Camls 'R us, non content d'effectuer d'excellentes optimisations, en vérifiait de plus la correction grâce à un testeur aléatoire, et gardait toujours en réserve la meilleure version correcte obtenue, pour produire dans tous les cas de figure un résultat avant les 30 minutes.
Le langage Objective Caml a donc été qualifié par le Jury de «programming langage of choice for discriminating hackers».
Michel Mauny ---------------------------------------------- INRIA -- BP 105 -- F-78153 Le Chesnay Cedex Tel.: +33 1 39 63 57 96 Fax: +33 1 39 63 56 84 Email: Michel.Mauny@inria.fr WWW: http://www.inria.fr/Michel.Mauny

