4 Le langage Lisp, dialecte COMMON LISP
1. c’est un manuel du langage et un cours de programmation en LISP : le lecteur est censé maîtriser le
langage à l’issue du cours ;
2. ce langage est utilisé dans le cours de compilation comme outil, pour programmer des mécanismes
de compilation et d’interprétation ; il est aussi utilisé comme langage source des mécanismes de
compilation et d’interprétation : l’objectif du cours est d’écrire en LISP un compilateur et un inter-
prète du langage LISP ; la problématique de la compilation et de l’interprétation des langages est
abordée dans un autre polycopié, mais les éléments du langage qui sont directement en rapport avec
cet objectif seront soulignés au fur et à mesure ;
3. enfin, ce manuel est aussi un cours de programmation plus abstrait : la plupart des concepts, re-
marques et conseils sur la programmation peuvent s’abstraire du cas particulier de LISP pour s’ap-
pliquer à n’importe quel langage.
1.3 Bibliographie
1.3.1 Ouvrages de référence
[ASS89] est une bonne référence pédagogique, bien que basée sur encore un autre dialecte, SCHEME :
la bibliothèque universitaire en possède de nombreux exemplaires.
[WH84] est un livre classique, très pédagogique, que je conseille.
[Que94] et [SJ93] sont des livres de plus haut niveau, ne pouvant intéresser que les étudiants qui maî-
trisent déjà LISP et qui auraient apprécié ce cours.
[Nor92] donne de nombreux exemples d’utilisation de LISP en Intelligence Artificielle.
De très nombreux autres ouvrages sur LISP existent : il n’y a pas de raison qu’ils ne soient pas bons !
1.3.2 Manuels en ligne
[Ste90] est le manuel de référence complet et constitue la bible de COMMON LISP : il est indispensable
pour qui veut programmer sérieusement en COMMON LISP mais présente un immense intérêt pour tous les
programmeurs LISP pour le recul avec lequel il présente les spécifications du langage. Il est disponible sur
les machines du département à l’URL file:/usr/doc/cltl/clm/clm.html et sera appelé dans
la suite “le manuel”. Le chapitre 4du présent document constitue un pense-bête qui ne remplace pas la
consultation de la description de ces fonctions dans le manuel en ligne.
Une documentation sur CLISP, qui regroupe [CLI97a,CLI97b] est disponible sur le site Web
http://clisp.cons.org/.
La page du module (ou des anciens modules de compilation du Master), accessible à partir de ma page
web — http://www.lirmm.fr/∼ducour/, puis suivre Enseignement — pointe sur une page sur
LISP qui regroupe un grand nombre de ressources en ligne.
Les moteurs de recherche du commerce (pas de nom !) sont enfin une dernière source.