Table des matières
1 Introduction 1
1.1 Profiling.............................. 1
1.2 Typesdeprofiling......................... 1
1.3 Sujetdestage........................... 2
2 Langage fonctionnel 3
2.1 Concepts.............................. 3
2.2 Particularité des langages fonctionnels . . . . . . . . . . . . . 3
2.2.1 Absence des effets de bord . . . . . . . . . . . . . . . . 3
2.2.2 Transparence référentielle . . . . . . . . . . . . . . . . 4
2.2.3 Peu de structures de contrôle . . . . . . . . . . . . . . 5
2.2.4 Fonctions comme objets de première classe . . . . . . . 6
2.2.5 Gestion de la mémoire de façon automatiquement . . . 6
2.3 Lambdacalcul........................... 6
2.3.1 Idées générales . . . . . . . . . . . . . . . . . . . . . . 6
2.3.2 La syntaxe du lambda calcul . . . . . . . . . . . . . . . 7
2.3.3 Alpha réduction . . . . . . . . . . . . . . . . . . . . . . 8
2.3.4 Beta réduction . . . . . . . . . . . . . . . . . . . . . . 8
2.4 Schème............................... 8
3 Pré-traitement 9
3.1 Langage à analyser . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2 Analysedejetons......................... 11
3.3 L’algorithme en bref . . . . . . . . . . . . . . . . . . . . . . . 11
4 Analyse abstraite 13
4.1 Valeurs abstraites . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.2 Idéegénérale ........................... 14
4.3 Génération des contraintes . . . . . . . . . . . . . . . . . . . . 14
4.4 Commentaires........................... 17
4.5 Unexemple ............................ 17
i