Programmation fonctionnelle

Concepts de programmation fonctionnelle en Haskell

Cours 01 : Pourquoi apprendre Haskell ?

Découvrir la programmation fonctionnelle et les particularités de Haskell.

Premières expressions, types, fonctions et évaluation paresseuse.

TP 01 : Premiers pas

Découvrir GHCi et écrire des expressions conditionnelles.

Définir ses premières fonctions, puis pratiquer la récursivité et les gardes.

Cours 02 : On commence à programmer

Tuples, listes, chaînes de caractères et fonctions utiles.

Premiers exemples de pattern matching, notamment sur les listes.

TP 02 : Pattern matching

Déterminer le type d'expressions Haskell.

Redéfinir des fonctions classiques sur les listes.

Cours 03 : Le système de types

Types concrets, variables de type et classes de type.

Contraintes de type et polymorphisme.

TP 03 : Typage

Comprendre l'inférence de type et retrouver le type le plus général d'une expression.

Définir de nouvelles fonctions en s'appuyant sur le système de types.

Cours 04 : Fonctions d'ordre supérieur

Fonctions anonymes, composition et curryfication.

Utiliser les fonctions d'ordre supérieur classiques sur les listes.

TP 04 : Fonctions d'ordre supérieur

Manipuler des fonctions comme des valeurs et les passer en argument.

Pratiquer les lambdas et les transformations de listes.

Cours 05 : Créer de nouveaux types

Synonymes de types et types de données algébriques.

Définir des constructeurs, des paramètres et des contraintes de type.

TP 05 : Typage

Manipuler des valeurs optionnelles avec le type Maybe.

Définir des fonctions sûres sur les listes.