![]()
Précédent : Unification d'ordre supérieur Remonter :
Structures fondamentales de calcul Suivant
: Modèles du -calcul
Participant : Philippe Audebaud
Le
-calcul de
M. Parigot de l'université de Paris 7 est un bon candidat
pour étendre l'isomorphisme de Curry-Howard à la logique
classique. L'étude menée sur ses aspects calculatoires a permis
de montrer, via une extension aisée du calcul, qu'il intègre
également les continuations comme objets de première classe.
A ce stade, Ph. Audebaud a obtenu un calcul partageant les
mêmes ``bonnes'' propriétés du
-calcul
pur : confluence, finitude des développements, etc. De plus,
une partie stable de ce calcul correspond au code naturellement
compilé vers la machine de Krivine (par exemple). Il est ainsi
possible d'exprimer et de vérifier dans le même temps certaines
simplifications de programmes réalisées lors de la compilation,
ainsi que la correction de la machine abstraite qui exécute le
code compilé.
Une seconde extension du calcul, inspirée de travaux de Danvy, Filinski et Moggi, a débouché sur un calcul offrant la possibilité de prendre en compte diverses stratégies d'évaluation rencontrées dans les langages fonctionnels. De tout cela, Ph. Audebaud a pu tirer un modèle mathématique adapté pour la compilation et l'évaluation de programmes composant le noyau fonctionnel de Caml.
A ce point de l'étude, il est déjà possible d'écrire des coroutines par exemple, car les affectations ne sont pas nécessaires. Cependant, le traitement des exceptions, pas plus que celui des références n'est possible. Une dernière extension a donc été étudiée, qui a débouché sur un modèle, c'est-à-dire un calcul, permettant la représentation de programmes Caml impératifs et/ou utilisant des exceptions. Cette partie est basée sur des idées originales de Felleisen relatives aux références et aux prompts.
Un prototype a été réalisé qui met toutes ces idées en pratique. L'ensemble de l'étude a porté à la fois sur les termes concrets et sur une représentation avec substitutions explicites basée sur le lambda-sigma-lift calcul de Abadi, Cardelli, Curien, Lévy et Hardin. L'étude du typage, exclue de l'approche précédente, est maintenant abordée.