Références : sur le langage LeLisp [Manuel LeLisp V15.2], sur le langage Interlisp [TeM 81], sur le langage Common Lisp, qui mêle la fermeture lexicale et la liaison dynamique [Tou 88].
Dans un Lisp standard, l'évaluateur empile les environnements d'évaluation : la recherche d'un identificateur – un symbole – est alors dynamique (« dynamic scoping »). Ceci a deux conséquences importantes :
1. Termes
2. Application
Symbole
Irep[env-0 x]
= env-0(x)
λ-expression
Irep[env-0 (lambda(u) env rep)]
= Iλ[env-0 λu.(env rep)]
Définition
Ienv[env-0 (def x env rep)]
env0 = Ienv[env-0 env]
rep0 = Irep[env0:env-0 rep]
= ( x :→ rep0 )
Ici aussi la valeur est calculée à la définition.