Seminar/2013-10-09

From LRDE

The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Mercredi 9 octobre 2013, 11h-12h, Salle Lα du LRDE


GNU epsilon, un langage de programmation extensible

Luca Saiu - Projet GNU, INRIA

Le réductionnisme est une technique réaliste de conception et implantation de vrais langages de programmation, et conduit à des solutions plus faciles à étendre, expérimenter et analyser. Je vais décrire la conception et l'implantation de GNU epsilon, un langage de programmation extensible, basé sur un langage-noyau minimaliste impératif du premier ordre, équipé de mécanismes d'abstraction forts et avec des possibilités de réflexion et auto-modification. Le langage peut être étendu à des niveaux très hauts: en utilisant des macros à la Lisp et des transformations de code à code réécrivant les expressions étendues en expressions-noyau, on arrive à ajouter les clôtures et les continuations de première classe au dessus du noyau.

Les programmes qui ne s'auto-modifient pas peuvent être analysés formellement, grâce à la simplicité de la sémantique. Je vais parler rapidement d'une analyse statique dont j'ai prouvé une propriété de «soundness» par rapport à la sémantique dynamique. Le langage se prête à une implantation efficace: je vais montrer un prototype de compilateur natif particulièrement simple.

Luca Saiu, programmeur expérimenté et spécialiste de langages, a obtenu son master à l'Université de Pise et son doctorat à l'Université Paris 13. Il a travaillé à l'INRIA sur le support multi-cœur d'OCaml. Le langage de programmation epsilon, logiciel GNU, est son projet le plus ambitieux. Luca Saiu est également co-auteur de Marionnet, un simulateur de réseaux en OCaml, utilisé pour la pédagogie en France et à l'étranger.

http://www.dailymotion.com/video/k41FJWRyy1QMDm4KuIFhttp://ageinghacker.net, http://www.gnu.org/projects/epsilon