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 |
+ | | location = Salle Lα du LRDE |
}} |
}} |
||
{{Talk |
{{Talk |
||
| id = 2013-10-09 |
| id = 2013-10-09 |
||
− | | abstract = Le |
+ | | abstract = Le réductionnisme est une technique réaliste de conception et implantation |
− | de vrais langages de programmation, et conduit |
+ | 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, |
+ | l'implantation de GNU epsilon, un langage de programmation extensible, basé |
− | sur un langage-noyau minimaliste |
+ | 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 |
+ | auto-modification. Le langage peut être étendu à des niveaux très hauts: en |
− | utilisant des macros |
+ | utilisant des macros à la Lisp et des transformations de code à code |
− | + | réécrivant les expressions étendues en expressions-noyau, on arrive à |
|
− | ajouter les |
+ | 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 |
+ | Les programmes qui ne s'auto-modifient pas peuvent être analysés |
− | formellement, |
+ | formellement, grâce à la simplicité de la sémantique. Je vais parler |
− | rapidement d'une analyse statique dont j'ai |
+ | 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 |
implantation efficace: je vais montrer un prototype de compilateur natif |
||
− | + | 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 |
+ | | resume = Luca Saiu, programmeur expérimenté et spécialiste de langages, a obtenu |
− | son master |
+ | son master à l'Université de Pise et son doctorat à l'Université Paris |
− | 13. Il a |
+ | 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 |
+ | ambitieux. Luca Saiu est également co-auteur de Marionnet, un simulateur |
− | de |
+ | 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
- Documents
- saiu.pdf
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