Table of
Contents (Table des
matiËres)
IËre PARTIE : Techniques de base
0 - Bibliographie
1 - GÈnÈralitÈs
2 - DÈfinitions de base, formes
LISP
3 - Mise en oeuvre pratique
(Prologue : rudiments)
4 - Švaluation / citation :
primitives
quote,
eval
5 - (DÈ)construction de
listes
: primitives
car,
cdr,
cons
6 - Structure de listes et reprÈsentation interne :
arbres,
doublets,
paires pointÈes
7 - Premiers aperÁus des
lambda-listes,
autres primitives de (dÈ)construction, comparaison et
modification de listes
7.1 - DÈconstruction : list-length, length, last, butlast, nth
7.2 - Construction : list,
append, copy-list
7.3 - PrÈdicats d'identitÈ : eq, eql,
equal
7.4 - Modification : reverse,
subst, substitute, remove
8 - CrÈation de
fonctions
: primitive
defun et
lambda-listes, aperÁu des
macro-fonctions, primitives
trace et
untrace
3bis - Mise en oeuvre pratique
(Epilogue : autres possibilitÈs du top-level et primitives de sortie simples, print, etc.)
9 - Logique, conditions, contrÙle
9.1 - Quelques autres prÈdicats
9.2 - Quelques opÈrateurs logiques
9.3 - Primitives if,
when, cond
10 - Primitives arithmÈtiques et mathÈmatiques
11 - De la
rÈcursivitÈ,
par l'exemple
11.1 - Quelques cas
mathÈmatiques simples
11.2 - Analyse et manipulation de listes, dont certaines
primitives LISP elles-mÍmes
11.3 - Autres exemples
12 - CrÈation dynamique de variables et de fonctions rÈcursives
temporaires : primitives
let
et
labels, etc.
13 - ItÈrations explicites et quelques structures de contrÙle :
primitives
mapcar,
apply,
prog1,
prog2,
progn,
do,
dotimes,
dolist,
prog,
catch et
throw,
lambda-expressions, notion
de
values
14 - EntrÈes/sorties, fichiers, interaction avec le systËme
d'exploitation : notions de
input/ouput-stream,
primitives
with-open-file,
read,
format,
excl:run-shell-command (UNIX), notions de
path,
package,
module, compilation, etc.
IIËme PARTIE :
Techniques avancÈes
15 -
Modifications physiques
de listes : primitives
setf,
rplaca,
rplacd,
nsubstitute,
delete,
nconc,
pop,
push, listes circulaires
16 - Structures de donnÈes prÈ-dÈfinies et leurs primitives
16.1 - Gros plan sur un
symbole
16.1.1 - C-val : primitives de
crÈation, d'accËs et de modification
16.1.2 - P-listes
: primitives symbol-plist,
get, remprop, etc. ; esquisses
d'applications, mÈmo-fonctions
16.2 -
A-listes :
primitives
acons,
pairlis,
assoc,
rassoc ; fonction rplacval ;
esquisse d'application (
tables
de hachage)
16.3 -
Tableaux et
vecteurs, notion de
sÈquences : primitives
associÈes
16.4 -
Structures :
exemple d'application
17 - Des
macros, par
l'exemple
17.1 - Macro-fonctions : primitives defmacro, macroexpand, technique d'anti-quote
17.2 - CrÈation de macro-caractËres,
macro-caractËres primitifs, la Read-Table, esquisses d'applications :
primitive set-macro-character
18 - Du
filtrage, ou
Pattern-Matching :
reconnaissance de formes
18.1 - Filtrage simple
18.2 - Filtrage ÈlaborÈ : cf. Annexe C
19 -
Programmation objet
en
Common Lisp Object System
(CLOS)
19.1 - Principes, mÈthodes gÈnÈriques en
CLOS, exemples simples : primitives defclass, defmethod, make-instance, etc.
19.2 - Exemple ÈlaborÈ