Booléens

En Common Lisp, n'importe quel objet peut être considéré comme un booléen. Dans un contexte nécessitant une valeur booléenne (le premier argument d'un if par exemple), tous les objets sauf le symbole nil sont assimilés à la valeur booléenne vrai.

Remarque pour les programmeurs C et C++ : les entiers sont par conséquent tous considérés comme vrai, y compris 0.

Pour une situation nécessitant la valeur booléenne vrai et pour laquelle aucun objet Common Lisp ne semble plus pertinent qu'un autre, on utilise un objet dédié à ce rôle : t.

Les deux objets nil et t sont des variables globales chacune étant sa propre valeur. La valeur de la variable nil est donc nil et la valeur de la variable t est t.

La conséquence directe de ceci est qu'il n'est pas nécessaire d'utiliser quote (voir section 4.5) pour ces deux objets.

Il y a plusieurs représentations externes de nil et la représentation à choisir dépend du contexte. Le symbole nil est bien sûr le booléen faux, mais aussi l'objet de terminaison des listes (voir chapitre 8). Par conséquent, les objets liste vide et nil sont identiques. Une façon d'obtenir nil est donc de taper (). Finalement, on a l'option de quoter ou non nil ou (). Voici la règle à utiliser :

Irene DURAND
2011-10-14