“doc” (Col. : Science Sup 17x24) — 2007/7/19 — 18:18 — page 90 — #100
i
i
i
i
i
i
i
i
90
2
• La programmation déclarative
declare est souvent omise. Elle devra être ajoutée si l’exemple déclare de nouvelles
variables.)
L’interface interactive a toute la fonctionnalité dont on a besoin pour le développement de logiciel. L’annexe A résume une partie de cette fonctionnalité. Pour l’instant,
nous supposons que l’utilisateur sait comment introduire des instructions.
L’interface interactive a un seul environnement global. L’instruction declare
ajoute des correspondances à cet environnement. Il s’ensuit que declare ne peut
pas être utilisée dans une application autonome mais seulement de façon interactive.
Introduire la déclaration suivante :
declare X Y
crée deux nouvelles variables en mémoire, x 1 et x 2 , et ajoute des correspondances
à partir de X et Y. Parce que les correspondances sont dans l’environnement global,
nous disons que X et Y sont des variables globales ou variables interactives. Introduire
la même déclaration une deuxième fois fera correspondre X et Y à deux nouvelles
variables, x 3 et x 4 . La figure 2.19 montre ce qui se passe. Les variables originales, x 1
et x 2 , sont toujours en mémoire, mais elles ne sont plus référencées par X et Y. Dans
la figure, Browse correspond à une valeur procédurale qui implémente le Browser.
L’instruction declare ajoute de nouvelles variables et correspondances, mais laisse
les variables existantes inchangées.
L’addition d’une nouvelle correspondance à un identificateur qui correspond déjà à
une variable pourra rendre cette dernière inaccessible si elle n’a pas d’autres références.
Si la variable fait partie d’un calcul, elle restera accessible à l’intérieur du calcul. Par
exemple :
declare X Y
X=25
declare A
A=person(age:X)
declare X Y
Juste après le lien X=25, X correspond à 25. Mais après la deuxième « declare
X Y », il correspond à une nouvelle variable non liée. Le 25 est toujours accessible
à travers la variable globale A qui est liée à l’enregistrement person(age:25).
L’enregistrement contient 25 parce que X correspondait à 25 au moment du lien
A=person(age:X). La deuxième « declare X Y » change la correspondance
de X mais pas l’enregistrement person(age:25) parce que l’enregistrement existe
déjà en mémoire. Ce comportement de declare est conçu pour soutenir un style de
programmation modulaire. L’exécution d’un fragment de programme ne changera pas
les résultats des fragments qui ont été exécutés auparavant.
i
i
i
i
i
i
i
i
90
2
• La programmation déclarative
declare est souvent omise. Elle devra être ajoutée si l’exemple déclare de nouvelles
variables.)
L’interface interactive a toute la fonctionnalité dont on a besoin pour le développement de logiciel. L’annexe A résume une partie de cette fonctionnalité. Pour l’instant,
nous supposons que l’utilisateur sait comment introduire des instructions.
L’interface interactive a un seul environnement global. L’instruction declare
ajoute des correspondances à cet environnement. Il s’ensuit que declare ne peut
pas être utilisée dans une application autonome mais seulement de façon interactive.
Introduire la déclaration suivante :
declare X Y
crée deux nouvelles variables en mémoire, x 1 et x 2 , et ajoute des correspondances
à partir de X et Y. Parce que les correspondances sont dans l’environnement global,
nous disons que X et Y sont des variables globales ou variables interactives. Introduire
la même déclaration une deuxième fois fera correspondre X et Y à deux nouvelles
variables, x 3 et x 4 . La figure 2.19 montre ce qui se passe. Les variables originales, x 1
et x 2 , sont toujours en mémoire, mais elles ne sont plus référencées par X et Y. Dans
la figure, Browse correspond à une valeur procédurale qui implémente le Browser.
L’instruction declare ajoute de nouvelles variables et correspondances, mais laisse
les variables existantes inchangées.
L’addition d’une nouvelle correspondance à un identificateur qui correspond déjà à
une variable pourra rendre cette dernière inaccessible si elle n’a pas d’autres références.
Si la variable fait partie d’un calcul, elle restera accessible à l’intérieur du calcul. Par
exemple :
declare X Y
X=25
declare A
A=person(age:X)
declare X Y
Juste après le lien X=25, X correspond à 25. Mais après la deuxième « declare
X Y », il correspond à une nouvelle variable non liée. Le 25 est toujours accessible
à travers la variable globale A qui est liée à l’enregistrement person(age:25).
L’enregistrement contient 25 parce que X correspondait à 25 au moment du lien
A=person(age:X). La deuxième « declare X Y » change la correspondance
de X mais pas l’enregistrement person(age:25) parce que l’enregistrement existe
déjà en mémoire. Ce comportement de declare est conçu pour soutenir un style de
programmation modulaire. L’exécution d’un fragment de programme ne changera pas
les résultats des fragments qui ont été exécutés auparavant.
