20/06/2002: Vincent Balat (PPS)
Normalisation par évaluation en CAML avec type somme
Résumé
Les langages fonctionnels comme CAML compilent les programmes en forme
normale de tête faible. La normalisation par évaluation est une
technique permettant de tirer partie de l'évaluation dans un tel
langage pour obtenir la forme normale forte de lambda-termes sous
forme syntaxique. Cette technique a été utilisée pour obtenir un
algorithme d'évaluation partielle très simple (type-directed partial
evaluation).
Dans cet exposé, je présenterai les algorithmes de normalisation par
évaluation et d'évaluation partielle dirigée par les types, et j'en
montrerai une implémentation en Objective Caml utilisant des
opérateurs de contrôle (shift et cupto).
Je montrerai ensuite comment ce procédé a été utilisé dans la preuve
d'un résultat théorique sur les isomorphismes de types avec sommes, et
comment cette application a conduit à une optimisation de l'algorithme
d'évaluation partielle pour la gestion des types sommes, permettant de
réduire considérablement la taille du résultat produit dans certains
cas.