Difference between revisions of "Seminar/2013-10-09"

From LRDE

(Created page with "{{SeminarHeader | id = 2013-10-09 | date = Mercredi 9 octobre 2013 | schedule = 11h-12h | location = Salle Lα du LRDE }} {{Talk | id = 2013-10-09 | abstract = Le réd...")
 
Line 3: Line 3:
 
| date = Mercredi 9 octobre 2013
 
| date = Mercredi 9 octobre 2013
 
| schedule = 11h-12h
 
| schedule = 11h-12h
| location = Salle du LRDE
+
| location = Salle Lα du LRDE
 
}}
 
}}
 
{{Talk
 
{{Talk
 
| id = 2013-10-09
 
| id = 2013-10-09
| abstract = Le réductionnisme est une technique réaliste de conception et implantation
+
| abstract = Le réductionnisme est une technique réaliste de conception et implantation
de vrais langages de programmation, et conduit à des solutions plus faciles
+
de vrais langages de programmation, et conduit à des solutions plus faciles
à étendre, expérimenter et analyser. Je vais décrire la conception et
+
à étendre, expérimenter et analyser. Je vais décrire la conception et
l'implantation de GNU epsilon, un langage de programmation extensible, basé
+
l'implantation de GNU epsilon, un langage de programmation extensible, basé
sur un langage-noyau minimaliste impératif du premier ordre, équipé de
+
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
+
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
+
auto-modification. Le langage peut être étendu à des niveaux très hauts: en
utilisant des macros à la Lisp et des transformations de code à code
+
utilisant des macros à la Lisp et des transformations de code à code
réécrivant les expressions étendues en expressions-noyau, on arrive à
+
réécrivant les expressions étendues en expressions-noyau, on arrive à
ajouter les clôtures et les continuations de première classe au dessus du
+
ajouter les clôtures et les continuations de première classe au dessus du
 
noyau.
 
noyau.
   
Les programmes qui ne s'auto-modifient pas peuvent être analysés
+
Les programmes qui ne s'auto-modifient pas peuvent être analysés
formellement, grâce à la simplicité de la sémantique. Je vais parler
+
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
+
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
+
«soundness» par rapport à la sémantique dynamique. Le langage se prête à une
 
implantation efficace: je vais montrer un prototype de compilateur natif
 
implantation efficace: je vais montrer un prototype de compilateur natif
particulièrement simple.
+
particulièrement simple.
 
| duration = 45 minutes
 
| duration = 45 minutes
 
| orator = Luca Saiu - Projet GNU, INRIA
 
| orator = Luca Saiu - Projet GNU, INRIA
| resume = Luca Saiu, programmeur expérimenté et spécialiste de langages, a obtenu
+
| resume = Luca Saiu, programmeur expérimenté et spécialiste de langages, a obtenu
son master à l'Université de Pise et son doctorat à l'Université Paris
+
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
+
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
 
langage de programmation epsilon, logiciel GNU, est son projet le plus
ambitieux. Luca Saiu est également co-auteur de Marionnet, un simulateur
+
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.
+
de réseaux en OCaml, utilisé pour la pédagogie en France et à l'étranger.
 
| schedule = 11h
 
| schedule = 11h
 
| slides = saiu.pdf
 
| slides = saiu.pdf

Revision as of 18:49, 21 January 2014

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