Aller au contenu
EN FR

Automate d'évaluation — lambda et application

Statut documentaire : reference — voir Maturité et preuves.

La grammaire fonctionnelle actuelle contient une forme lambda et un mécanisme d'application d'expressions.

Lambda comme valeur

Évaluer une définition lambda produit une valeur appelable associée à son environnement nécessaire.

lambda parameters body
  -> valeur fonctionnelle / fermeture

Application

L'application est un protocole multi-phase :

évaluer la fonction
  -> évaluer / lier les arguments
  -> déterminer si l'application est complète
  -> application partielle OU évaluation du corps
  -> résultat

Le moteur dispose explicitement d'un protocole d'évaluation à plusieurs états pour l'application fonctionnelle, ce qui permet de différer l'évaluation du corps jusqu'au moment approprié.

Fermeture et environnement

Une lambda n'est pas seulement un pointeur vers un corps syntaxique. Sa valeur doit conserver suffisamment de contexte pour résoudre les dépendances nécessaires lors de l'application.

Currying et application partielle

Lorsque la forme fonctionnelle le permet, une application incomplète peut produire une nouvelle valeur fonctionnelle plutôt que déclencher immédiatement le corps final.

Cette capacité découle naturellement du protocole d'application à états.