Commit 94ec66b9 authored by Pietro Abate's avatar Pietro Abate
Browse files

[r2004-12-07 17:28:06 by afrisch] Empty log message

Original author: afrisch
Date: 2004-12-07 17:28:06+00:00
parent 4b5a48cb
......@@ -19,6 +19,7 @@
<include file="bench.xml"/>
<include file="papers.xml"/>
<include file="soutenance.xml"/>
<include file="stages.xml"/>
<include file="documentation.xml"/>
<include file="examples.xml"/>
<!-- <include file="hacking.xml"/> -->
......@@ -29,7 +30,6 @@
<include file="funding.xml"/>
<include file="sitemap.xml"/>
<left>
<p> CDuce ("seduce") is a new typed functional language with
......
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<page name="stage">
<title>Stages proposés</title>
<box title="Pour les étudiants du MPRI" link="mpri">
<ul>
<li>
<local href="stage_compil_cduce"/>. INRIA Rocquencourt (projet Cristal),
encadrant: Alain Frisch.</li>
<li>
<local href="stage_poly_cduce"/>. INRIA Rocquencourt (projet Cristal),
encadrant: Alain Frisch.</li>
</ul>
</box>
<page name="stage_compil_cduce">
<title>Compilation du langage CDuce</title>
<box title="Description" link="descr">
<p>On s'intéresse dans ce stage à la compilation de <local
href="index">CDuce</local>, un langage fonctionnel adapté à la
manipulation de documents XML. Actuellement, l'implémentation de
CDuce repose sur une compilation just-in-time du pattern-matching
vers des automates et sur un interpréteur. Le stage pourra
s'orienter dans une ou plusieurs directions (liste non limitative):
</p>
<ul>
<li>Amélioration de la stratégie de compilation du filtrage, pour
produire des automates plus petits, et/ou en étudiant de nouvelles
heuristiques d'optimisations. </li>
<li>Mise en place d'un schéma
de compilation de CDuce avec une représentation des valeurs
dirigées par leur type et leur contexte
d'utilisation. Actuellement, toutes les valeurs sont representées
de manière uniforme. L'idée consiste à utiliser les informations
fournies par le système de types statique pour optimiser cette
représentation; par exemple, il n'est pas nécessaire de stocker un
tag XML si le type de la valeur permet de le retrouver. Le risque
est d'introduire de coûteuses coercions lorsque le sous-typage
(implicite en CDuce) est utilisé. Il faut donc aussi prendre en
compte le contexte d'utilisation des valeurs pour prédire
statiquement la « bonne » représentation. </li>
<li>
Optimisations de haut-niveau. Un exemple d'optimisation
envisageable et qui aurait un impact certain sur l'efficacité
des programmes serait de fusionner des transformations successives
pour éviter de construire des structures intermédiaires qui seront
immédiatement détruites. Idéalement, on voudrait arriver
à produire la sortie d'une transformation XML en « flux »,
lorsque cela est possible.
</li>
</ul>
Le stage n'a pas de prérequis formels. L'éventuel travail d'implémentation
se fera en Objective Caml.
</box>
<box title="Références" link="ref">
<p>Voir cette <local href="papers">page</local> pour une liste d'articles
sur CDuce.</p>
<p>Le projet <a href="http://www.comp.nus.edu.sg/~luzm/xhaskell/">XHaskell</a> propose d'utiliser une représentation purement dirigée par les types
pour les documents XML.</p>
<p>Le projet <a href="http://xtisp.psdlab.org/">XTiSP</a> propose
une technique d'implémentation en flux pour un langage orienté XML.</p>
</box>
</page>
<page name="stage_poly_cduce">
<title>Sous-typage, polymorphisme et ordre supérieur</title>
<box title="Description" link="descr">
<p><a href="http://xduce.sourceforge.net/">XDuce</a> est un langage de programmation adapté à XML,
dans lequel les types, qui correspondent à des schémas XML,
sont interprétés comme des ensembles de valeurs.
<local href="index">CDuce</local> étend XDuce avec l'ordre supérieur
(fonctions de première classe, types flèche), en préservant
cette interprétation ensembliste des types.</p>
<p>Ces langages offrent une certaine souplesse au programmeur
via une relation de sous-typage qui découle tout naturellement
de l'interprétation ensembliste. L'objectif de ce stage
est d'étudier l'ajout de polymorphisme paramétrique (comme
celui de ML) à CDuce, sans briser l'interprétation ensembliste.
Un travail préliminaire a étudié
cette question dans le cadre de XDuce, mais la technique utilisée
ne passe pas à l'ordre supérieur.
</p>
</box>
<box title="Références" link="ref">
<p>Voir cette <local href="papers">page</local> pour une liste d'articles
sur CDuce, et <a href="http://arbre.is.s.u-tokyo.ac.jp/~hahosoya/publ.html">celle-ci</a> pour une liste d'articles sur XDuce, en particulier
l'ajout du polymorphisme paramétrique.</p>
</box>
</page>
</page>
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment