Epreuve intégrée : La Programmation Fonctionnelle
EPFC | Bashevkin Nathan & Polazzi Fabio
Introduction ........................................................................................................................ 3
Le Cours ......................................................................................................................... 4
1. Définition simple ........................................................................................................ 5
2. Programmation impérative et fonctionnelle ............................................................. 5
La programmation impérative : .............................................................................................. 5
La programmation fonctionnelle : ........................................................................................... 5
3. Attributs de la programmation fonctionnelle ............................................................ 6
La transparence référentielle : ................................................................................................. 6
Fonctions d’ordre supérieur : .................................................................................................. 7
4. Présentation de quelques langages connus .............................................................. 7
Haskell : ..................................................................................................................................... 7
Erlang :....................................................................................................................................... 8
Miranda : ................................................................................................................................... 8
Lisp : ........................................................................................................................................... 9
5. Haskell ...................................................................................................................... 10
Premiers pas ............................................................................................................................ 11
Les types simples ..................................................................................................................... 11
Les fonctions ............................................................................................................................ 12
Evaluation paresseuse ............................................................................................................. 14
Structures de données ............................................................................................................. 15
a. Liste : ..........................................................................................................................................15
b. Queue : .......................................................................................................................................22
c. Arbre binaire: .............................................................................................................................24
d. Graphe : ......................................................................................................................................25
e. Pile ..............................................................................................................................................26
Quelques opérateurs importants ........................................................................................... 28
Le programme .............................................................................................................. 31
6. Programme : Algorithme de Dijkstra ...................................................................... 32
Fin ................................................................................................................................... 42
Conclusion ........................................................................................................................ 43
Appendice ......................................................................................................................... 44
Bibliographie .................................................................................................................... 45