Next:
Autour du langage
Up:
Traité de Programmation en
Previous:
Organisation du livre
Common Lisp
Sous-sections
Autour du langage
Histoire du langage
Processus de normalisation
Le modèle de développement
Mythes concernant Lisp
Mythe : Lisp est un langage interprété
Mythe : Lisp est lent
Mythe : Lisp n'est pas utilisé dans l'industrie
Mythe : Lisp n'a que des atomes et des listes
Mythe : Lisp sert uniquement en Intelligence Artificielle
Survol du langage
Applications visées
Types de données
Nombres
Caractères, chaînes de caractères
Séquences
Tableaux
Symboles
Fermetures
Structures
Classes et instances
Tables de hachage
Structures de contrôle
Blocs et Contextes
Récursivité
Itération
Échappements et sauts
Conditions
Extensions syntaxiques
Un bon style de programmation
Le premier programme
Expressions et évaluation
Objets auto-évaluants
Nombres
Entiers
Ratios
Flottants
Complexes
Caractères
Chaînes de caractères
Tableaux
Symboles
Expressions composées
Fonctions
Opérateurs spéciaux
Macros
Effets de bord
Suppression de l'évaluation
Common Lisp sous l'éditeur Emacs
L'éditeur Emacs
Le mode Lisp de Emacs
Déplacement de point
Suppression et modification
Indentation
Interaction avec le système Lisp
Types simples
Booléens
Nombres
Les différents types de nombres
Entiers
Ratios
Flottants
Complexes
Prédicats
Comparaisons
Opérations arithmétiques simples
Trigonométrie
Trigonométrie hyperbolique
Logarithmes et exponentielles
Opérations bit à bit
Conversion, troncature, arrondi
Symboles
Prédicats sur les symboles
Variables lexicales et spéciales
mots-clés
Autres utilisations des symboles
Caractères
Chaînes de caractères
Fonctions
Définition de fonctions globales
Liste de paramètres
Paramètres requis
Paramètres facultatifs
Paramètre reste
Paramètres mots-clés
Exemples de listes de paramètres
Définitions de fonctions locales
Fonctions de première classe et anonymes
Appeler une fonction
Listes
Une suite de paires
Primitives pour la création de listes
Représentation externe
Listes généralisées
Opérations de base sur les listes
Prédicats
Tests d'égalité
Copie d'une liste
Concaténation
Renversement
Création de sous-listes
Fonctions d'accès aux éléments
Appartenance d'un élément à une liste
Fonctions diverses sur les listes
Listes pour représenter des piles
Fonctions d'application
mapc
mapcar
mapcan
mapl
maplist
mapcon
Utilisation avec plusieurs listes
Listes pour représenter des ensembles
Listes d'association
Tableaux et structures
Tableaux
Dimension et rang
Création et accès aux éléments
Vecteurs et séquences
Tableaux ajustables et déplacés
Structures
Tables de hachage
Blocs et Contextes
Blocs
Contextes
Conditionnelles
if
when
et
unless
cond
case
Itération
do
do*
dotimes
dolist
loop
L'évaluation non conditionnelle
Itération arithmétique
Répétition fixe
Itération avec des clauses simultanées
Itération sur les listes
Itération sur les vecteurs
Itération utilisant un calcul explicite
Évaluation au début et à la fin
Accumulation de valeurs
Itération conditionnelle
Terminaison explicite de la boucle
Variables locales
Valeurs multiples
Macros
Importance de l'abstraction syntaxique
Exemple de macro
Macros basiques
Quelques exemples
Un nouveau type de boucle
Création de contexte
Un exemple un peu plus compliqué
Difficultés avec les macros
Capture de variables
Multiples évaluations
Programmation orientée-objets
Objet
Type
Opération
Protocole
Classe et héritage
Spécificités CLOS
Classes et instances
Fonction générique
Méthode
Sélection
Héritage multiple
Comparaisons avec d'autres langages
Sauts non locaux
return
et
return-from
catch
et
throw
unwind-protect
Conditions
Situations exceptionnelles
Échecs
Épuisement de ressources
Autres
Le problème des situations exceptionnelles
Utilisation des conditions
Mécanisme
Traiter une condition
Signaler une condition
Flots
Prédicats
Fonctions d'entrée/sortie
Ouverture et fermeture d'un flot
Irene DURAND
2011-10-14