Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| formations:masters:ue:m1:pfa8 [2023/05/22 15:29] – ↷ Page déplacée de playground:cours:m1:pfa8 à formations:masters:ue:m1:pfa8 treinen | formations:masters:ue:m1:pfa8 [2025/01/29 10:46] (Version actuelle) – ↷ Liens modifiés en raison d'un déplacement. admin | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | ~~NOTOC~~ | ||
| + | |||
| + | ====== Programmation Fonctionnelle Avancée ====== | ||
| + | |||
| + | ===== Description ===== | ||
| + | |||
| + | La programmation fonctionnelle est un des paradigmes principaux de programmation | ||
| + | que tout informaticien doit connaître. | ||
| + | En particulier, | ||
| + | structurées (comme lors de la conception de compilateur). | ||
| + | Cette forme de programmation sans état est également | ||
| + | très importante pour le calcul distribué (voir MapReduce). | ||
| + | |||
| + | On retrouve désormais des aspects de programmation fonctionnelle dans des langages | ||
| + | aussi répandus que Java et Python. | ||
| + | Néanmoins, l' | ||
| + | des possibilités de ce paradigme de programmation, | ||
| + | C'est pourquoi ce cours s' | ||
| + | |||
| + | Ce module fait suite au cours de programmation fonctionnelle de licence 3 (PF5) | ||
| + | et se concentre directement sur un certain nombre d' | ||
| + | fonctionnelle et d' | ||
| + | |||
| + | Ce module est un module majeur du parcours LP (Langages et Programmation). | ||
| + | |||
| + | ===== Syllabus ===== | ||
| + | ==== Sujets centraux ==== | ||
| + | |||
| + | - Le système de modules | ||
| + | - Structure de données efficaces pour la programmation fonctionnelle | ||
| + | - Evaluation paresseuse | ||
| + | - Structures avec partage | ||
| + | - Utilisation avancée du système de typage (variants polymorphes, | ||
| + | - Monades | ||
| + | |||
| + | |||
| + | ==== Sujets potentiellement traités ==== | ||
| + | |||
| + | - Combinateurs | ||
| + | - Parallélisme (Parmap) | ||
| + | |||
| + | |||
| + | ===== Pré-requis ===== | ||
| + | |||
| + | Avoir suivi un premier cours de programmation fonctionnelle, | ||