Programmation Fonctionnelle : Scheme
Jean-Paul Roy, Janvier-Avril 2006
Partie 1, Fondamentaux
1. Primitives (entiers, rationnels, réels, complexes, objets) 44
2. Fonctions : define et lambda 45
3. Conditions : if, cond et connecteurs logiques 45
4. Variables locales : let et let* 46
5. Itératif et récursif 47
6. Obtenir la trace d’une fonction 49
7. Un aperçu du style CPS 49
8. Listes : constructeur, accesseur, reconnaisseur 50
9. Listes : représentation 51
10. Récurrence sur les listes 51
11. Corrections d’exercices en Scheme 53
(inverser une liste, exponentiation modulaire, primalité, formes spéciales)
Partie 11, Intermediaire : Les Listes
1. Primitives (listes, A-listes, filtrage, complexes, citations) 56
2. Fonctions, ordre normal et ordre applicatif 57
3. Procédures d’ordre supérieur 57
4. Quelques fonctions sur les listes (map, filtrage, tri-fusion, exercices) 58
5. Les A-listes et le filtrage avancé 61
6. Exercices (filtrage, algorithme sur les ensembles) 62
7. Pour la culture : questions de cours (Algorithme de Wang, Peano, Eliza) 64
Partie 111, Intermediaire : Les Arbres
1. Définir des arbres binaires d’expression 66
2. Algorithme élémentaire sur les arbres (hauteur, nombre de nœuds, arboriser) 66
3. Evaluation d’un arbre binaire d’expression 68
4. Principes d’un simplificateur formel 68
5. La dérivation symbolique 69
6. Une introduction à la compilation des arbres 70
7. La curryfication 74
8. Quelques développements 74
Partie 1V, Intermediaire : Dessin
1. Le principe (commandes de la tortue, graphisme polaire et cartésien) 75
2. Entrainement à l’utilisation des nouvelles formes spéciales (do, begin…) 76
3. Graphisme de base (rosace et spirale, degradés) 76
4. Traceur de courbes paramétriques 77
5. Intégration d’un élément d’arc le long d’une courbe 78
6. Une introduction aux fractales 78
7. Arbres fractals 80
Philippe Giabbanelli