Commit f22fe88f authored by Pietro Abate's avatar Pietro Abate
Browse files

[r2004-12-11 20:50:32 by afrisch] Empty log message

Original author: afrisch
Date: 2004-12-11 20:50:32+00:00
parent 5d64ae42
......@@ -12,6 +12,10 @@
<li>
<local href="stage_poly_cduce"/>. INRIA Rocquencourt (projet Cristal),
encadrant: Alain Frisch.</li>
<li>
<local href="stage_pattern_template"/>. INRIA Rocquencourt (projet Cristal),
encadrant: Alain Frisch.</li>
</ul>
</box>
......@@ -128,4 +132,61 @@
</page>
<page name="stage_pattern_template">
<title>Patterns et templates</title>
<box title="Infos pratiques" link="info">
<ul>
<li>Encadrant: <a href="mailto:Alain.Frisch@inria.fr">Alain
Frisch</a>.</li>
<li>Laboratoire: <a
href="http://pauillac.inria.fr/cristal/index-fra.html">projet
Cristal</a>, INRIA Rocquencourt.</li>
</ul>
<p>Le stage se rapporte au cours 2-4 (Langages de programmation) du MPRI.
</p>
</box>
<box title="Description" link="descr">
<p>
On peut voir un pattern
(motif) comme une fonction des valeurs dans des enregistrements
de valeurs, et un template comme une fonction dans l'autre sens.
Dans leurs formes les plus simples, les patterns et les templates
sont simplement des termes avec des variables libres, avec
deux interprétations duales. L'objectif du stage est
de s'amuser avec ces deux notions de patterns et de templates.
On pourra définir diverses notions de compositions
(par exemple, on peut appliquer un template de type
{ x : t1; y : t2 } -> t à un enregistrement de type
{ x : { a : t3; b : t4 } -> t1 } pour obtenir un template
de type { a : t3; b : t4; y : t2 } -> t), définir
des calculs et des systèmes de types avec des patterns
et des templates de première classe.
</p>
<p>
Un domaine d'application envisageable est celui des langages
de programmation pour XML. Les langages de la famille
XDuce utilisent des patterns puissants (réguliers)
pour inspecter les documents, mais ils n'ont pas de patterns
de première classe. Les templates sont utilisés dans
le langage Xact; ce sont des documents partiels,
avec des trous qui restent à remplir. Partir d'un calcul
avec patterns et templates primitifs et typés pourra donner
un nouvel éclairage sur ces langages.
</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.</p>
<p>Page du projet <a href="http://www.brics.dk/Xact/">Xact</a>.</p>
<p>Le <a href="http://www-staff.it.uts.edu.au/~cbj/patterns/">Pattern Calculus</a> de Barry Jay (qui n'a pas de patterns
de première classe...)</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