Exercices en Haskell : Listes, Types et Manipulation des Tuples
Exercice 1 : Différences entre paradigmes fonctionnel et impératif
Expliquez les différences fondamentales entre les paradigmes fonctionnel et impératif.
Donnez un exemple en Haskell illustrant le paradigme fonctionnel et un exemple en pseudo-code illustrant le paradigme impératif.
Exercice 2 : Évaluation paresseuse et instanciation partielle
Expliquez ce qu'est l'évaluation paresseuse en Haskell et donnez un exemple de code.
Expliquez ce qu'est l'instanciation partielle des fonctions et donnez un exemple en Haskell.
Exercice 3 : Listes en compréhension
Écrivez deux expressions différentes pour créer une liste contenant les 10 premiers nombres entiers naturels.
Écrivez une liste en compréhension contenant les carrés des nombres pairs compris entre 1 et 10 000.
Exercice 4 : Définition d'un type Triplet
Définissez un type Triplet pour représenter des tuples (Int, Char, Bool).
Implémentez les fonctions first, second et third permettant d'extraire respectivement le premier, le second et le troisième élément d'un triplet.
Exercice 5 : Définition d'un type de liste
On définit une liste avec le type suivant :
data List t = Chaine { tete :: t, listResiduel :: List t } | Vide
Donnez le type de Chaine et listResiduel.
Donnez un exemple d'une valeur de ce type.
Implémentez la fonction map_ qui applique une fonction à chaque élément d'une List t.