“doc” (Col. : Science Sup 17x24) — 2007/7/19 — 18:18 — page 40 — #50
i
i
i
i
i
i
i
i
40
2
• La programmation déclarative
2.2 LA MÉMOIRE À AFFECTATION UNIQUE
Nous présentons d’abord les structures de données du modèle déclaratif. Le modèle
utilise une mémoire à affectation unique, qui est un ensemble de variables initialement
non liées et dont chacune peut être liée à une valeur. La figure 2.6 montre une mémoire
avec trois variables non liées x 1 , x 2 et x 3 . Nous écrivons {x 1 , x 2 , x 3 }. Les valeurs
peuvent être (entre autres) des entiers, des listes et des enregistrements. La figure 2.7
montre la mémoire où x 1 est liée à l’entier 314 et x 2 est liée à la liste [1 2 3].
4
Nous écrivons {x 1 = 314, x 2 = [1 2 3], x 3 }.
3
x
x
x
1
non liée
non liée
non liée
2
Figure 2.6 Une mémoire à affectation unique avec trois variables non liées.
3
non liée
x
x
x
1
314
nil
1
2
3
2
Figure 2.7 Deux variables sont liées aux valeurs.
2.2.1 Les variables déclaratives
Les variables dans la mémoire à affectation unique s’appellent des variables déclaratives. Nous utilisons ce terme quand il y a une confusion possible avec d’autres sortes
de variables. Plus loin nous les appellerons aussi des variables dataflow à cause de
leur rôle dans l’exécution dataflow.
Une fois liée, une variable déclarative reste liée dans toute l’exécution et on ne
peut pas la distinguer de sa valeur. Elle peut être utilisée dans les calculs comme si
4. En fait, c’est une légère simplification. En réalité, chaque paire de liste et chaque entier a sa propre
variable ; nous avons donc {x2 = y1|x4, x4 = y2|x5, x5 = y3|x6, x6 = nil, y1 = 1, y2 = 2, y3 = 3}.
Pour que les exemples ne soient pas trop difficiles à lire, nous utiliserons souvent cette simplification !
i
i
i
i
i
i
i
i
40
2
• La programmation déclarative
2.2 LA MÉMOIRE À AFFECTATION UNIQUE
Nous présentons d’abord les structures de données du modèle déclaratif. Le modèle
utilise une mémoire à affectation unique, qui est un ensemble de variables initialement
non liées et dont chacune peut être liée à une valeur. La figure 2.6 montre une mémoire
avec trois variables non liées x 1 , x 2 et x 3 . Nous écrivons {x 1 , x 2 , x 3 }. Les valeurs
peuvent être (entre autres) des entiers, des listes et des enregistrements. La figure 2.7
montre la mémoire où x 1 est liée à l’entier 314 et x 2 est liée à la liste [1 2 3].
4
Nous écrivons {x 1 = 314, x 2 = [1 2 3], x 3 }.
3
x
x
x
1
non liée
non liée
non liée
2
Figure 2.6 Une mémoire à affectation unique avec trois variables non liées.
3
non liée
x
x
x
1
314
nil
1
2
3
2
Figure 2.7 Deux variables sont liées aux valeurs.
2.2.1 Les variables déclaratives
Les variables dans la mémoire à affectation unique s’appellent des variables déclaratives. Nous utilisons ce terme quand il y a une confusion possible avec d’autres sortes
de variables. Plus loin nous les appellerons aussi des variables dataflow à cause de
leur rôle dans l’exécution dataflow.
Une fois liée, une variable déclarative reste liée dans toute l’exécution et on ne
peut pas la distinguer de sa valeur. Elle peut être utilisée dans les calculs comme si
4. En fait, c’est une légère simplification. En réalité, chaque paire de liste et chaque entier a sa propre
variable ; nous avons donc {x2 = y1|x4, x4 = y2|x5, x5 = y3|x6, x6 = nil, y1 = 1, y2 = 2, y3 = 3}.
Pour que les exemples ne soient pas trop difficiles à lire, nous utiliserons souvent cette simplification !
