Curryfication Haskell exercice Corrige

Exercices Corriges en Haskell : CurryFication

  1. Donnez la forme curryfiée du type de la fonction suivante : (a, b) -> c -> (a -> b -> c).
  2. Écrivez la forme curryfiée du type de la fonction : (a -> b -> c) -> (b -> a -> c).
  3. Quel est le type curryfié de la fonction suivante : a -> b -> (a, b) ?
  4. Écrivez la forme curryfiée du type de la fonction : (a -> b -> c) -> a -> b -> c.
  5. Donnez le type curryfié de la fonction suivante : (a, b, c) -> d -> (a -> b -> c -> d) -> d.
  6. Quel est le type curryfié de la fonction : (a -> b -> c) -> (b -> a -> c) ?
  7. Écrivez la forme curryfiée du type de la fonction : a -> (a -> b) -> b.
  8. Donnez la forme curryfiée du type de la fonction suivante : (a -> b) -> (b -> c) -> a -> c.
  9. Quel est le type curryfié de la fonction suivante : a -> (a -> b -> c) -> b -> c ?
  10. Écrivez la forme curryfiée du type de la fonction : (a, b) -> (a -> b -> c) -> c.

Haskell pandacodeur

Correction :

La forme curryfiée du type de la fonction (a, b) -> c -> (a -> b -> c) est :

a -> b -> c -> (a, b) -> c

Explication : En curryfiant la fonction, nous transformons les deux premiers arguments de type a et b en deux arguments de type a et b chacun, et nous déplaçons le dernier argument de type c à la fin de la fonction.

La forme curryfiée du type de la fonction (a -> b -> c) -> (b -> a -> c) est :

(a -> b -> c) -> b -> a -> c

Explication : En curryfiant la fonction, nous transformons les deux arguments de type a et b en deux arguments distincts de type a et b, et nous déplaçons le dernier argument de type c à la fin de la fonction.

Le type curryfié de la fonction suivante : a -> b -> (a, b) est :

a -> b -> (a, b)

Explication : La fonction prend deux arguments de types a et b et renvoie un tuple contenant ces deux arguments.

La forme curryfiée du type de la fonction (a -> b -> c) -> a -> b -> c est :

(a -> b -> c) -> a -> (b -> c)

Explication : En curryfiant la fonction, nous transformons le deuxième et le troisième argument de type a et b en deux arguments distincts de type a et b, respectivement, et nous déplaçons le dernier argument de type c à la fin de la fonction.

Le type curryfié de la fonction suivante : (a, b, c) -> d -> (a -> b -> c -> d) -> d est :

a -> b -> c -> d -> (a, b, c) -> d

Explication : En curryfiant la fonction, nous transformons les quatre premiers arguments de types a, b, c et d en quatre arguments distincts de types a, b, c et d, respectivement, et nous déplaçons le dernier argument de type (a, b, c) à la fin de la fonction.

Le type curryfié de la fonction suivante : (a -> b -> c) -> (b -> a -> c) est :

(a -> b -> c) -> b -> a -> c

Explication : En curryfiant la fonction, nous transformons les deux arguments de type a et b en deux arguments distincts de types a et b, respectivement.

La forme curryfiée du type de la fonction a -> (a -> b) -> b est : a -> (a -> b) -> b

La fonction prend deux arguments de types différents, donc nous avons besoin de deux flèches. En curryfiant la fonction, nous avons une première flèche qui correspond à l'argument de type a et une deuxième flèche qui correspond à la fonction de type a -> b. La sortie de la fonction est de type b.

La forme curryfiée du type de la fonction (a -> b) -> (b -> c) -> a -> c est : (a -> b) -> (b -> c) -> a -> c

La fonction prend trois arguments de types différents, donc nous avons besoin de trois flèches. En curryfiant la fonction, nous avons la première flèche qui correspond à la première fonction de type a -> b, la deuxième flèche qui correspond à la deuxième fonction de type b -> c, et la troisième flèche qui correspond à l'argument de type a. La sortie de la fonction est de type c.

Le type curryfié de la fonction suivante a -> (a -> b -> c) -> b -> c est : a -> (a -> b -> c) -> b -> c

La fonction prend trois arguments de types différents, donc nous avons besoin de trois flèches. En curryfiant la fonction, nous avons la première flèche qui correspond à l'argument de type a, la deuxième flèche qui correspond à la fonction de type a -> b -> c, et la troisième flèche qui correspond à l'argument de type b. La sortie de la fonction est de type c.

La forme curryfiée du type de la fonction (a, b) -> (a -> b -> c) -> c est : (a, b) -> (a -> b -> c) -> c

La fonction prend deux arguments de types différents, donc nous avons besoin de deux flèches. En curryfiant la fonction, nous avons la première flèche qui correspond au premier argument de type a, b, et la deuxième flèche qui correspond à la fonction de type a -> b -> c. La sortie de la fonction est de type c.

Si vous avez trouvé les exercices corrigés en Haskell de JoëlYk intéressants et utiles, pourquoi ne pas les partager avec d'autres personnes qui pourraient également en bénéficier ? Partagez ce lien sur les réseaux sociaux ou envoyez-le à vos amis et collègues. Vous pourriez aider quelqu'un à améliorer ses compétences en programmation ou à trouver des solutions à des problèmes complexes. N'oubliez pas que la connaissance doit être partagée pour grandir. Merci pour votre soutien et votre partage !

Contact WhatsApp : +237 658395978 | Réaliser Par Joël_Yk

  • 1 vote. Moyenne 2 sur 5.

Ajouter un commentaire

Anti-spam