Autres utilisations des symboles

Les symboles ne sont pas utilisés uniquement pour la représentation des variables. À chaque symbole est associée une liste de propriétés (en Anglais : property list) que l'on peut utiliser pour fabriquer une base de données simple. La liste des propriétés d'un symbole est une liste dans laquelle un élément sur deux est un indicateur et un élément sur deux est une valeur. Les deux sont des objets Common Lisp arbitraires. La fonction get prend deux paramètres, un symbole et un indicateur et renvoie la valeur correspondant à l'indicateur, ou nil si l'indicateur n'existe pas pour le symbole. Avec setf, il est possible de changer ou créer la valeur associée à un indicateur. Exemples :

* (get 'jane 'mother)

NIL
* (setf (get 'jane 'mother) 'anne)

ANNE
* (get 'jane 'mother)

ANNE
* (setf (get 'anne 'profession) 'carpenter)

CARPENTER
* (get (get 'jane 'mother) 'profession)

CARPENTER
*

Irene DURAND
2011-10-14