Programmer avec Scheme 2841801314, 9782841801312 [DJVU]


158 51 5MB

French Pages 767 Year 1998

Report DMCA / Copyright

DOWNLOAD DJVU FILE

Table of contents :
Couverture......Page 0001_0001.djvu
Titre......Page 0001_0001_1.djvu
Table des matières......Page 0003_0001.djvu
Avant-propos......Page 0009_0001.djvu
1 Pratique de la programmation avec Scheme......Page 0013_0001.djvu
1.1 La boucle d'interaction......Page 0015_0001.djvu
1.2 Expressions parenthésées et préfixées......Page 0016_0001.djvu
1.3 Esquisse de la syntaxe de Scheme......Page 0017_0001.djvu
1.4 Les définitions en Scheme......Page 0019_0001.djvu
1.5 Booléens, prédicats et contrôles......Page 0014_0001.djvu
1.6 Variables locales et structure de bloc......Page 0027_0001.djvu
1.7 Définition récursive d'une fonction......Page 0029_0001.djvu
1.8 Entrée/sortie......Page 0033_0001.djvu
1.9 De la lecture......Page 0035_0001.djvu
2.1 Symboles et citations......Page 0037_0001.djvu
2.2 Les listes......Page 0039_0001.djvu
2.3 Programmation récursive avec les listes plates......Page 0046_0001.djvu
2.4 Programmation récursive avec les listes quelconques......Page 0050_0001.djvu
2.5 Aspects méthodologiques et preuve de fonctions récursives......Page 0052_0001.djvu
2.6 Evaluation des expressions Scheme......Page 0057_0001.djvu
2.7 Les doublets......Page 0058_0001.djvu
2.8 Les a-listes......Page 0060_0001.djvu
2.9 Représentation externe/interne des données......Page 0062_0001.djvu
2.10 Représentation interne des listes et notions d'égalité......Page 0065_0001.djvu
2.11 Quasi-citation......Page 0069_0001.djvu
2.12 Compléments : polynômes......Page 0070_0001.djvu
2.13 De la lecture......Page 0076_0001.djvu
3.1 Lambda expression......Page 0077_0001.djvu
3.2 Portée statique et fermeture......Page 0080_0001.djvu
3.3 Les fonctions en résultat......Page 0083_0001.djvu
3.4 Les fonctions en argument......Page 0084_0001.djvu
3.5 Letrec et définitions locales de fonctions......Page 0086_0001.djvu
3.6 La fonction map et ses dérivés......Page 0089_0001.djvu
3.7 Extension de la syntaxe des lambda......Page 0095_0001.djvu
3.8 Représentation des ensembles......Page 0097_0001.djvu
3.9 Appel récursif terminal......Page 0100_0001.djvu
3.10 Compléments : retour-arrière et problème des huit reines......Page 0105_0001.djvu
3.11 De la lecture......Page 0111_0001.djvu
4.1 L'affectation en Scheme......Page 0113_0001.djvu
4.2 Itération et récursivité terminale......Page 0116_0001.djvu
4.3 La liste comme structure mutable......Page 0118_0001.djvu
4.4 Caractères et chaînes......Page 0125_0001.djvu
4.5 Vecteurs......Page 0129_0001.djvu
4.6 Compléments : une représentation pleine des polynômes......Page 0131_0001.djvu
4.7 De la lecture......Page 0135_0001.djvu
5.1 Portée et durée de vie d'une liaison......Page 0137_0001.djvu
5.2 Variable, environnement et mémoire......Page 0142_0001.djvu
5.3 Définitions récursives et letrec......Page 0145_0001.djvu
5.4 Programmation modulaire......Page 0146_0001.djvu
5.5 Mutation de variables......Page 0148_0001.djvu
5.6 Variables mutables et prototypes......Page 0150_0001.djvu
5.7 Fermetures et générateurs......Page 0153_0001.djvu
5.8 Comptage et mémorisation des appels d'une fonction......Page 0156_0001.djvu
5.9 Compléments : système de maintien de contraintes et CAO......Page 0158_0001.djvu
5.10 De la lecture......Page 0171_0001.djvu
6.1 Quelques fonctions arithmétiques......Page 0173_0001.djvu
6.2 Ecriture d'un entier dans une base......Page 0176_0001.djvu
6.3 Calculer avec les rationnels et les réels......Page 0179_0001.djvu
6.4 Calculer avec les nombres complexes......Page 0183_0001.djvu
6.5 Fractals et ensemble de Mandelbrot......Page 0184_0001.djvu
6.6 Calculer avec les vecteurs......Page 0186_0001.djvu
6.7 Calculer avec les matrices......Page 0187_0001.djvu
6.8 Compléments : visualisation d'un cube en rotation......Page 0189_0001.djvu
6.9 De la lecture......Page 0196_0001.djvu
7.1 Structures de données et types abstraits......Page 0197_0001.djvu
7.2 Piles fonctionnelles......Page 0199_0001.djvu
7.3 Piles mutables......Page 0202_0001.djvu
7.4 Evaluation des expressions arithmétiques postfixées......Page 0205_0001.djvu
7.5 Structures de file......Page 0207_0001.djvu
7.6 Structures de table......Page 0211_0001.djvu
7.7 Adressage dispersé......Page 0213_0001.djvu
7.8 Structure d'arbre......Page 0216_0001.djvu
7.9 Arbres binaires......Page 0219_0001.djvu
7.10 Structure générale d'arbre......Page 0229_0001.djvu
7.11 Méthodes de recherche et de tris......Page 0231_0001.djvu
7.12 Notions sur les graphes......Page 0236_0001.djvu
7.13 Compléments : jeux à deux joueurs et coupures alpha-bêta......Page 0241_0001.djvu
7.14 De la lecture......Page 0246_0001.djvu
8.1 Continuation d'un calcul......Page 0247_0001.djvu
8.2 Programmation par passage de continuation......Page 0249_0001.djvu
8.3 Continuation et valeurs multiples......Page 0251_0001.djvu
8.4 Continuation et échappement......Page 0254_0001.djvu
8.5 Générateur de solutions (1)......Page 0258_0001.djvu
8.6 La fonction calI/cc......Page 0260_0001.djvu
8.7 Call/cc et échappements......Page 0263_0001.djvu
8.8 Générateur de solutions (II)......Page 0266_0001.djvu
8.9 Une fonction *erreur*......Page 0267_0001.djvu
8.10 Coroutines......Page 0269_0001.djvu
8.11 Compléments : simulation ferroviaire......Page 0273_0001.djvu
8.12 De la lecture......Page 0280_0001.djvu
9.1 Introduction à la notion de macro......Page 0281_0001.djvu
9.2 Utilisations des macros......Page 0284_0001.djvu
9.3 Définitions de nouvelles formes spéciales......Page 0287_0001.djvu
9.4 Problèmes de capture avec les macros......Page 0291_0001.djvu
9.5 Définitions récursives de macros......Page 0295_0001.djvu
9.6 Formes spéciales primitives et dérivées......Page 0296_0001.djvu
9.7 Liaisons destructurantes......Page 0300_0001.djvu
9.8 Extensions syntaxiques définies par filtrage......Page 0303_0001.djvu
9.9 Exemples de définitions par define-syntax......Page 0304_0001.djvu
9.10 Redéfinition de certaines formes spéciales......Page 0308_0001.djvu
9.11 Compléments : trace et comptage des appels d'une fonction......Page 0311_0001.djvu
9.12 De la lecture......Page 0316_0001.djvu
10.1 Fichiers et flux......Page 0317_0001.djvu
10.2 Lecture de fichiers......Page 0318_0001.djvu
10.3 Ecriture de fichiers......Page 0320_0001.djvu
10.4 Le couple force/delay......Page 0323_0001.djvu
10.5 Flots et listes infinies......Page 0325_0001.djvu
10.6 Générateur de solutions (III)......Page 0331_0001.djvu
10.7 Flots et séries formelles......Page 0332_0001.djvu
10.8 Compléments : indentation des S-expressions......Page 0335_0001.djvu
10.9 De la lecture......Page 0341_0001.djvu
11.1 Principe de la programmation par objets......Page 0343_0001.djvu
11.2 Délégation et prototypes......Page 0346_0001.djvu
11.3 Langage Logo......Page 0349_0001.djvu
11.4 Application aux systèmes de Lindenmayer......Page 0354_0001.djvu
11.5 Une extension objet de Scheme: Schem()......Page 0357_0001.djvu
11.6 Jeu donjon et dragon......Page 0361_0001.djvu
11.7 Implantation de Schem()......Page 0370_0001.djvu
11.8 Compléments : vie artificielle......Page 0374_0001.djvu
11.9 De la lecture......Page 0390_0001.djvu
II Outils formels pour le programmeur......Page 0391_0001.djvu
12.1 Automates finis......Page 0395_0001.djvu
12.2 Notion de langage formel......Page 0397_0001.djvu
12.3 Reconnaissance d'un langage par un automate fini......Page 0399_0001.djvu
12.4 Machines de Turing......Page 0402_0001.djvu
12.5 Automates cellulaires......Page 0405_0001.djvu
12.6 Machines à pile......Page 0409_0001.djvu
12.7 Structure d'un ordinateur......Page 0411_0001.djvu
12.8 Calculabilité......Page 0414_0001.djvu
12.9 De la lecture......Page 0416_0001.djvu
13.1 Expressions régulières et langages associés......Page 0417_0001.djvu
13.2 Recherche d'une expression régulière......Page 0419_0001.djvu
13.3 Expressions régulières et automates finis......Page 0424_0001.djvu
13.4 Analyse lexicale......Page 0427_0001.djvu
13.5 Grammaires formelles......Page 0431_0001.djvu
13.6 Analyse syntaxique descendante......Page 0437_0001.djvu
13.7 Grammaires LL(l)......Page 0438_0001.djvu
13.8 Un analyseur d'expressions arithmétiques......Page 0441_0001.djvu
13.9 Syntaxe abstraite et grammaires attribuées......Page 0443_0001.djvu
13.10 De la lecture......Page 0449_0001.djvu
14.1 Mise sous forme infixe des expressions arithmétiques......Page 0451_0001.djvu
14.2 Formatage de texte: centrage, justification......Page 0453_0001.djvu
14.3 Dessins d'arbres binaires et grammaires attribuées......Page 0463_0001.djvu
14.4 Formatage de formules: MiniTeX......Page 0470_0001.djvu
14.5 De la lecture......Page 0485_0001.djvu
15.1 Langage du calcul propositionnel......Page 0487_0001.djvu
15.2 Valeur sémantique d'une formule......Page 0491_0001.djvu
15.3 Tautologies......Page 0493_0001.djvu
15.4 Déduction sémantique......Page 0496_0001.djvu
15.5 Forme clausale......Page 0497_0001.djvu
15.6 Calcul booléen et circuits numériques......Page 0500_0001.djvu
15.7 Méthode de Shannon......Page 0502_0001.djvu
15.8 De la lecture......Page 0506_0001.djvu
16.1 Notion de systèmes formels......Page 0507_0001.djvu
16.2 Déduction naturelle en logique propositionnelle......Page 0511_0001.djvu
16.3 Calcul des séquents propositionnels......Page 0515_0001.djvu
16.4 Implantation du calcul des séquents propositionnels......Page 0517_0001.djvu
16.5 De la lecture......Page 0526_0001.djvu
17.1 Filtrage de listes plates......Page 0527_0001.djvu
17.2 Termes et syntaxe abstraite......Page 0530_0001.djvu
17.3 Substitutions dans les termes......Page 0533_0001.djvu
17.4 Filtrage de termes......Page 0537_0001.djvu
17.5 Réécriture de termes......Page 0541_0001.djvu
17.6 Applications de la réécriture......Page 0544_0001.djvu
17.7 De la lecture......Page 0548_0001.djvu
18.1 Systèmes experts d'ordre 0 et chaînage arrière......Page 0549_0001.djvu
18.2 Systèmes de règles avec variables......Page 0556_0001.djvu
18.3 Unification dans les termes......Page 0557_0001.djvu
18.4 Implantation d'un moteur d'inférence d'ordre 1......Page 0561_0001.djvu
18.5 Programmation logique et Prolog......Page 0567_0001.djvu
18.6 De la lecture......Page 0572_0001.djvu
19.1 Langages du premier ordre......Page 0573_0001.djvu
19.2 Une représentation en Scheme des formules du premier ordre......Page 0576_0001.djvu
19.3 Occurrences libres ou liées de variables......Page 0577_0001.djvu
19.4 Substitutions en logique du premier ordre......Page 0579_0001.djvu
19.5 Déduction naturelle en logique du 1er ordre......Page 0582_0001.djvu
19.6 Calcul des séquents du premier ordre......Page 0585_0001.djvu
19.7 Implantation du calcul des séquents classiques......Page 0589_0001.djvu
19.8 Logiques égalitaires......Page 0598_0001.djvu
19.9 De la lecture......Page 0601_0001.djvu
20.1 Définition du lambda calcul......Page 0603_0001.djvu
20.2 Bêta réduction......Page 0606_0001.djvu
20.3 Stratégies de réduction......Page 0611_0001.djvu
20.4 Représentation des données en lambda calcul......Page 0616_0001.djvu
20.5 Combinateur Y, récursion et domaines......Page 0619_0001.djvu
20.6 Lambda calcul typé......Page 0625_0001.djvu
20.7 Inférence de type......Page 0628_0001.djvu
20.8 Implantation de l'inférence de type......Page 0632_0001.djvu
20.9 Isomorphisme de Curry Howard......Page 0635_0001.djvu
20.10 De la lecture......Page 0638_0001.djvu
21 Sémantique des langages de programmation......Page 0639_0001.djvu
21.1 Interprète pour un MiniLisp en Scheme......Page 0640_0001.djvu
21.2 Interprète pour MiniScheme......Page 0647_0001.djvu
21.3 Interprète Scheme par continuation......Page 0651_0001.djvu
21.4 Sémantique naturelle......Page 0658_0001.djvu
21.5 Sémantique naturelle de MiniML......Page 0660_0001.djvu
21.6 Interprète pour MiniML en Scheme......Page 0665_0001.djvu
21.7 Un langage fonctionnel paresseux: MiniLML......Page 0669_0001.djvu
21.8 Sémantique naturelle d'un langage impératif......Page 0675_0001.djvu
21.9 Notion de sémantique dénotationnelle......Page 0681_0001.djvu
21.10 Interprète pour Blaise......Page 0683_0001.djvu
21.11 De la lecture......Page 0690_0001.djvu
22.1 Calculette numérique et machine SC......Page 0691_0001.djvu
22.2 Calculette à mémoire et machine SEC......Page 0695_0001.djvu
22.3 Compilateur MiniScheme et machine SECD......Page 0702_0001.djvu
22.4 Appel terminal et optimisation JSR-RTS......Page 0710_0001.djvu
22.5 Machine avec zone d'activation......Page 0712_0001.djvu
22.6 Assemblage et machine avec compteur ordinal......Page 0718_0001.djvu
22.7 Représentation des doublets et machine Lisp......Page 0724_0001.djvu
22.8 Récupération des doublets inutilisés: GC......Page 0737_0001.djvu
22.9 Machine avec lien statique......Page 0744_0001.djvu
22.10 De la lecture......Page 0749_0001.djvu
A Codes ASCII......Page 0751_0001.djvu
B Interprètes et compilateurs Scheme......Page 0753_0001.djvu
Bibliographie......Page 0755_0001.djvu
Index......Page 0761_0001.djvu
Quatrième de couverture......Page 0002_0001_1.djvu

Programmer avec Scheme
 2841801314, 9782841801312 [DJVU]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden