Introduction à la programmation fonctionnelle avancée : de la pratique à la théorie
La programmation fonctionnelle se présente comme un cas particulier de programmation applicative, dans laquelle seule les
opérations purement fonctionnelles sont autorisées.
Ce module présente les bases de la programmation fonctionnelle, en partant de la pratique d'un langage fonctionnel typé pour
aller vers le lambda-calcul et la logique combinatoire. On montrera aussi que la puissance de la programmation fonctionnelle
réside dans sa capacité à définir de nouveaux langages spécialisés conçus comme des extensions naturelles des langages de
base. Il sera aussi fait mention des aspects pratiques et " génie logiciel " de la programmation applicative et de ses possibilités
d'assurer la réalisation de grands programmes respectant les architectures logicielles et les interfaces graphiques actuelles.
1. Présentation d'un langage fonctionnel typé : types fonctionnels, vérification et inférence de types, construction de types
abstraits, continuations, évaluation partielle, ...
2. Bases du lambda-calcul et de la logique combinatoire
3. Modes de réduction..
4. Ecriture d'évaluateurs de langages spécialisés, intégration de nouveaux types de données.
5. Génie logiciel fonctionnel et conception de programmes modulaires.