Cours 3: vendredi 16 décembre 2016 (matin)
Contenu
- Comparaison de symboles (eq), de nombres (=)
- Notion de base sur les paires et le listes: paires, cons, car, cdr
- Fonctions list, reverse, append (nconc)
- Listes
- fonction make-list
- macro time, utilitaire trace
- Récursivité sur les listes
- Atomes versus listes
- exemples de fonctions sur les listes: some, every, member, ...
- Fonctions de manipulation de listes: copy-list, copy-tree
- listes vues comme des ensembles: adjoin, union, intersection,set-difference, set-exclusive-or
- accesseurs (nth, last, butlast, nthcdr, nth, first, second, ..., cx.yr,
- Exemples de fonctions sur les sequences: length, count, ..., remove, remove-duplicates
- Récursivité terminale (my-count)
- fonctions funcall, apply, reduce (:from-end :initial-value)
- Fonctions d'application fonctionnelles: mapcar, mapcan
- Ajout d'un élément en début versus fin de liste
- Exemples: riota, iota
- Notion de type abstrait (dictionnaire)
- Liste d'association (début)
Les transparents 45--59
Travail individuel
Lire la Section 10.2 (Contextes)
Lire les sections 7.4 et 7.5 du livre (Fonctions de première classe et anonymes)
Lire les sections 8.1 à 8.4 du livre
(Une suite de paires, Primitives pour la création de listes,
Représentation externe, Listes généralisées)
Lire le chapitre 14 de la Hyperspec (Conses).
Lire la section 8.5 du livre (Opérations de base sur les listes).