Les listes Common Lisp sont construites à partir d'éléments plus simples que l'on appelle des paires (ou cons, du nom de la fonction qui les crée). Une paire comprend deux cellules de mémoire successives contenant chacune un (pointeur sur) un objet Common Lisp. Nous allons dessiner les paires comme indiqué dans la figure 8.1.
Par convention, la première cellule contient un élément de la liste et la deuxième une autre liste (potentiellement vide). De cette manière, il est possible de construire une liste par chaînage de la deuxième cellule de chaque paire (voir figure 8.2).
Pour des raisons historiques, la première cellule de la paire s'appelle le car et la deuxième s'appelle le cdr (prononcé coudère). Pour indiquer la fin de la liste, le cdr de la dernière paire est le symbole nil (voir figure 8.3).
Pour simplifier les figures, on dessine souvent une barre diagonale à la place de nil comme indiqué dans la figure 8.4.
Les éléments d'une liste peuvent être des objets Common Lisp arbitraires. Voici par exemple une liste de trois éléments dont le premier élément est l'entier 52, le deuxième la chaîne de caractères "bonjour" et le troisième le flottant 1.234 (figure 8.5).
Les éléments d'une liste peuvent aussi être d'autres listes, ce qui donne des listes imbriquées. L'exemple de la figure 8.6 montre une liste dont le premier et le troisième élément sont des entiers et le deuxième est une liste de deux flottants.
Irene DURAND