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.