The following message is a courtesy copy of an article that has been posted to lrde.annonce,epita.adm.adm,epita.adm,iit.adm,fr.comp.developpement,fr.comp.lang.c++,fr.comp.lang.general,fr.comp.objet as well.
Chers collègues,
La prochaine session du séminaire Performance et Généricité du LRDE (Laboratoire de Recherche et Développement de l'EPITA) initialement prévue pour le 28 janvier est déplacée au Mercredi 11 février 2009 (14h-17h).
Au programme:
* 14h: Programmer en JoCaml -- Luc Maranget, Inria http://pauillac.inria.fr/~maranget/
JoCaml est une extension d'Objective Caml pour la programmation concurrente et distribuée, inspirée par le join-calcul. Nous avons récemment publié une nouvelle version de JoCaml, dont la compatibilité avec OCaml est meilleure que celle de la version initiale de F. Le Fessant. La nouvelle version pourra facilement être mise à jour au rythme d'OCaml et est binaire-compatible avec OCaml.
L'exposé s'attachera plus au langage JoCaml qu'au système JoCaml. Il montrera comment, à partir d'un programme potentiellement parallélisable écrit en OCaml (le ray tracer du concours ICFP 2001), on peut facilement produire un programme distribué, dans le cas abordé, très efficace. Ce sera l'occasion d'aborder la programmation en JoCaml de la coordination de multiples agents coopérants, d'une manière simple et concise dans l'esprit de la programmation fonctionnelle.
JoCaml est disponible en http://jocaml.inria.fr/.
Luc Maranget est chargé de recherche à l'Inria Rocquencourt. Il est spécialiste de la conception et de l'implémentation des langages de programmation, fonctionnels puis concurrents. À cet égard, il est l'auteur du compilateur de filtrage d'Objective Caml et plus récemment de la nouvelle version de JoCaml.
* 15h15: ReactiveML : une extension d'OCaml pour la programmation de systèmes réactifs synchrones -- Louis Mandel, Université Paris-Sud 11 -- LRI http://www.lri.fr/~mandel
ReactiveML est une extension d'OCaml basée sur le modèle réactif synchrone introduit par F. Boussinot au début des années 90. Il permet la programmation de systèmes tels que les jeux vidéo ou les simulateurs.
Dans cet exposé, je présenterai ReactiveML à travers l'utilisation et la programmation de rmltop, le pendant ReactiveML du toplevel d'OCaml. Ce toplevel permet au programmeur d'écrire interactivement des programmes ReactiveML qui sont typés, compilés et exécutés à la volée. Toute expression ReactiveML valide peut être chargée dans le toplevel et a la même sémantique et la même efficacité que sa version compilée.
Louis Mandel est docteur de l'Université Paris 6. Il a passé un an au laboratoire Verimag de Grenoble et un an à l'INRIA Rocquencourt. Il est actuellement Maître de Conférences à l'Université Paris-Sud 11. Il conçoit et développe ReactiveML.
-----------------
Pour plus de renseignements, consultez http://seminaire.lrde.epita.fr/. L'entrée du séminaire est libre. Merci de bien vouloir diffuser cette information le plus largement possible.
-----------------
Vous pouvez dores et déjà noter que la séance suivante aura lieu de Mercredi 25 février 2009, et sera cette fois consacrée à des extensions de Java :
* 14h: Mise en oeuvre et application des extensions de langages -- Patrick Viry, Ateji www.ateji.com
Je présenterai sur la base d'une démo une application des extensions de langages, à savoir une extension Java pour l'optimisation. Cet exemple montre la mise en oeuvre concrète dans Eclipse, les gains de productivité et de qualité obtenus par rapport aux approches classiques Java+DSL, la différence entre cette approche et un générateur de code ou un préprocesseur. Il montre également une utilisation originale d'un compilateur: la génération automatique d'interface graphique.
Je parlerai aussi des futurs projets d'Ateji dans le domaine des extensions de langage.
Patrick Viry a obtenu un doctorat d'informatique à l'INRIA-Lorraine en 1992. Il a poursuivi une carrière de chercheur à l'Université de Kyoto, sur deux thèmes principaux: les modèles théoriques du parallélisme et les outils de développement de type éditeur syntaxique. Il a rejoint l'industrie en 1999, d'abord dans une société japonaise réalisant des contrats pour le MITI, puis en tant qu'architecte du langage OPL chez Ilog. Il a fondé Ateji en 2005 pour développer et commercialiser des technologies innovantes dans le domaine des langages et des outils de programmation.
* 15h15: Programmation par règles : application à la transformation d'arbres en Java -- Pierre-Etienne Moreau - INRIA Nancy - Grand Est http://tom.loria.fr
Dans cet exposé je présenterai un outil, appelé Tom, qui permet de simplifier la programmation d'outils de manipulation et de transformation de structures arborescentes, telles que les AST (Abstract Syntax Trees) ou les documents XML par exemple. Tom est un langage de programmation qui ajoute à Java des constructions inspirées du calcul de réécriture et des langages à bases de règles. On peut, de manière approximative, voir Tom comme une intégration d'un sous-ensemble de Caml dans Java.
Le langage repose sur trois notions fondamentales :
(i) les termes, qui sont un modèle universel permettant de décrire des structures arborescentes, et en particulier les notions de programmes et de preuves.
(ii) les règles, qui permettent de décrire de manière expressive des transformations.
(iii) les stratégies, qui permettent de contrôler l'application des règles.
La séparation transformation-contrôle est un point essentiel permettant de rendre les règles indépendantes de leur contexte d'utilisation, facilitant ainsi leur écriture, leur réutilisation et l'établissement de propriétés.
Le Langage Tom est parfaitement adapté à la réalisation d'outils de transformation et de prouveurs. Son intégration dans Java rend son utilisation facile, aussi bien dans le milieu académique que dans le milieu industriel.
Pierre-Etienne Moreau, 37 ans, est Chargé de Recherche à l'INRIA Nancy-Grand Est, responsable de l'équipe Pareo. Il s'intéresse au développement d'outils et de langages permettant de développer plus rapidement des applications complexes et ceci de manière plus sûre. Dans ce cadre, il a développé au cours de sa thèse le compilateur du langage ELAN. Depuis 2001, il coordonne le développement de l'environnement Tom, qui permet de d'intégrer et d'utiliser les notions de réécriture, de stratégie, de filtrage équationnel dans un environnement de programmation Java. Les principales applications à ce jour sont la réalisation de compilateurs, d'outils d'analyse et de transformation de programmes, ainsi que des prouveurs automatiques.
-----------------
Merci de bien vouloir diffuser cette information le plus largement possible.