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 :
![]()
Puisque l'environnement est en partie évalué sur lui-même, on peut observer, assez facilement, un bouclage infini de l'évaluateur de texte. Par exemple :
def a def b
def x def y
ref b ref a
l'évaluation de a ou b bouclera nécessairement. On peut regretter un peu la chose, puisque l'exemple présenté admet une interprétation "intuitive" simple.
On pourrait alors prévoir, en cours d'évaluation, de vérifier qu'on n'évalue pas deux fois le même texte : dans un tel cas, on détecte alors un bouclage possible et on interrompt l'évaluation. Ceci est en fait trop restrictif comme le montre l'exemple qui suit :

| référence à un texte | | référence évaluée |
| environnement de référence | | environnement évalué |
On évalue l'environnement de y. Le texte x défini en premier est évalué deux fois, et pourtant le processus d'évaluation s'arrête.
On pourrait donc ici encore prévoir l'envoi d'un message de mise en garde qui permettrait à l'utilisateur d'interrompre l'évaluation s'il le souhaite.