“doc” (Col. : Science Sup 17x24) — 2007/7/19 — 18:18 — page 51 — #61
i
i
i
i
i
i
i
i
2.3 Le langage noyau déclaratif
51
2.3.3 Les types de base
Nous donnons quelques exemples des types de base et comment les écrire. Pour des
informations plus complètes voir la documentation de Mozart [23].
– Les nombres (« Number »). Les nombres sont des entiers (« Int ») ou des nombres
à virgule flottante (« Float »). Quelques exemples d’entiers : 314, 0 et ˜10
(moins 10). Remarquez que le signe moins est écrit avec un tilde ´˜´. Quelques
exemples de flottants sont 1.0, 3.4, 2.0e2 et ˜2.0E˜2.
– Les atomes (« Atom »). Un atome est une constante symbolique qui peut être
utilisé dans les calculs. Il y a plusieurs manières d’écrire un atome. Un atome peut
être écrit comme une séquence de caractères qui commence avec une minuscule
suivie par un nombre arbitraire de caractères alphanumériques. Un atome peut
aussi être écrit comme toute séquence de caractères affichables entre guillemets
simples. Quelques exemples d’atomes : une_personne, donkeyKong3 en
´#### bonjour ####´.
– Les booléens (« Bool »). Un booléen est un des deux symboles true ou false.
Ces symboles désignent des constantes infalsifiables (des noms, voir la section 3.5.2).
– Les enregistrements (« Record »). Un enregistrement est une structure de données composée. Il contient une étiquette suivie par un ensemble de champs, où
un champ est une paire d’un trait et un identificateur. Un trait (« feature » en
anglais) peut être un atome, un entier ou un booléen. Quelques exemples d’enregistrements : person(age:X1 name:X2) (avec les traits age et name),
person(1:X1 2:X2), ´|´(1:H 2:T), ´#´(1:H 2:T), nil et person. Un atome est un enregistrement sans traits.
– Les tuples (« Tuple »). Un tuple est un enregistrement dont les traits sont des
entiers consécutifs qui commencent avec 1. Dans ce cas il n’y a pas besoin
d’écrire les traits. Quelques exemples de tuples : person(1:X1 2:X2) et
person(X1 X2), qui représentent le même tuple.
– Les listes (« List »). Une liste est l’atome nil ou le tuple ´|´(H T) (l’étiquette
est une barre verticale), avec T une liste. Ce tuple est appelé une paire de liste. Il
y a du sucre syntaxique pour les listes :
• L’étiquette ´|´ peut être écrite comme un opérateur infix. Ainsi H|T représente le même tuple que ´|´(H T).
• L’opérateur ´|´ associe à droite : 1|2|3|nil représente le même tuple que
1|(2|(3|nil)).
• Une liste qui termine en nil peut être écrite avec des crochets [ . . . ]. Ainsi
[1 2 3] représente la même liste que 1|2|3|nil. Elle est appelée une
liste complète.
© Dunod – La photocopie non autorisée est un délit
Précédent

- 66/370

Suivant