Programmation Fonctionnelle

Chargé de TD et TP au semestre 6 (Licence 3).

Objectif

Ce module est une introduction à la programmation fonctionnelle.

L’objectif est ainsi d’appréhender comment concevoir des programmes suivant ce paradigme centré sur l’évaluation de fonctions, et de voir comment cette approche aide à écrire des programmes clairs, concis, corrects et élégants.

Contenu

La programmation fonctionnelle est un paradigme très riche, avec de nombreuses notions liées, notamment :

  • fonctions d’ordre supérieur (combinateurs) ;
  • systèmes de types (vérification et inférence des types) ;
  • structures de données purement fonctionnelles ;
  • filtrage de motifs ;
  • stratégies d’évaluation (en particulier stricte et paresseuse1) ;
  • λ-calcul ;
  • monades.

Le cours s’appuie sur le langage Haskellle langage purement fonctionnel à évaluation paresseuse.