Un sujet qui n'a pas encore été abordé concerne le contexte dans lequel on évalue une référence à un texte. La réponse n'est pas forcément simple. En effet, une référence évaluée enrichit le contexte d'évaluation : faut-il alors évaluer cette référence dans le contexte enrichi, ou faut-il évaluer la référence dans le contexte dans le contexte initial puis enrichir le contexte ?
Référence à évaluer :
![]()
Référence évaluée = nouveau contexte :
![]()
Il a été dit au début que l'environnement local permettait de faciliter l'écriture d'emplois de texte, en particulier de références. Le choix retenu pour l'évaluation des références permet de considérer effectivement, dans une bonne mesure, la notion d'environnement local comme une facilité purement syntaxique, et non pas une nouvelle notion.
Dans les exemples qui suivent, on donne :
t,a, qui apparaît dans la représentation du texte t, quand on a déjà évalué l'environnement local d'utilisation, s'il y a lieu.Premier exemple :
def t | ![]() |
def t | ![]() |
L'évaluation des représentations des deux textes t retourne la même valeur.
Deuxième exemple :
def t | ![]() |
def t | ![]() |
Ici aussi les représentations s'évaluent de la même façon.
Troisième exemple :
def t | ![]() |
def t | ![]() |
def t | ![]() |
Ici les trois cas sont légèrement différents :
u,v, dans le contexte enrichi de l'environnement u,a dans un contexte qui place dans l'ordre l'environnement u puis l'environnement v.v,u, dans le contexte enrichi de l'environnement v,a dans un contexte qui place dans le même ordre les environnements u et v.u,v, dans le contexte enrichi de l'environnement u,a dans un contexte qui place les environnements u et v dans l'ordre inverse.Les résultats de ces évaluations pourront donc être différents.