previous up next contents
Précédent : Unification d'ordre supérieur. Remonter : Preuve Suivant : préserve la forte

Lambda-calcul

Participants : Zine-El-Abidine Benaissa, Daniel Briaud,Pierre Lescanne,Jocelyne Rouyer, Joseph Rouyer

Mots clefs : lambda-calcul, programmation fonctionnelle

Le lambda-calcul utilise la substitution comme un mécanisme fondamental, et comme le notait déjà Curry dans les années 50, la formalisation se fait en dehors de la théorie elle-même, dans ce que Curry appelle l' épi-théorie. Aussi bien pour des raisons esthétiques que pour expliquer et définir proprement des implantations efficaces, les calculs de substitutions explicites visent à internaliser dans le lambda-calcul les manipulations des substitutions ; ils proposent tous une règle que est notée (B) et qui active la première étape de -réduction en introduisant explicitement une substitution que d'autres règles éliminent. Une stratégie qui introduit une substitution et l'élimine aussitôt simule la -réduction classique ; mais il existe bien d'autres stratégies plus ou moins paresseuses quant à l'élimination des substitutions. La figure 1 donne les réductions que l'on obtient dans le calcul (prononcer lambda-upsilon) si on cherche a réduire les termes et en indices de de Bruijn. L'approche des substitutions explicites du projet EURéCA est, pour paraphraser Curry, d'une extrême simplicité. Elle consiste à minimiser les opérateurs utilisés en n'introduisant que ceux qui sont nécessaires. Grâce à cela, les calculs satisfont des propriétés bien agréables.

 
Figure 1: La réduction des termes et  



previous up next contents
Précédent : Unification d'ordre supérieur. Remonter : Preuve Suivant : préserve la forte