Le problème initial s'est présenté selon trois aspects :
(P1) | on veut définir des textes « avec trous », c'est-à-dire des textes incomplets dont on remplit les « trous » par d'autres textes.
|
(P2) | on veut pouvoir mettre en commun un texte entre plusieurs « utilisateurs », c'est-à-dire remplir plusieurs « trous » par le même texte.
|
(P3) | on veut pouvoir manipuler un « texte troué » de la même façon qu'un « texte complet ».
|
Pour satisfaire (P1), (P2) et (P3), on a choisi :
(R1) | de NOMMER les textes, |
(R2) | d'EVALUER les textes. |
NOMMER un texte signifie qu'on n'établit pas un lien statique entre un « trou » et sa valeur, mais qu'on construit un lien symbolique entre l'utilisation d'un symbole et sa définition. |
Analogie sous UNIX
A titre d'analogie, on peut comparer sous UNIX les deux types de liens suivants :
(a) | Par la commande Par exemple, la commande : |
(b) | En revanche, si l'on écrit dans le fichier Par exemple, la commande : |
La différence qu'on observe entre (a) et (b) est la suivante : dans (a), on garantit de toujours "s'adresser" au même fichier, qui s'est appelé un jour fic2 ; dans (b), on "s'adresse" au fichier qui, à ce jour, s'appelle fic2.