Disons que j'ai un certain nombre de fonctions:
f :: a -> Maybe a
g :: a -> Maybe a
h :: a -> Maybe a
Et je veux, pour composer de la façon suivante: Si f ne retourne Rien, calculer g. Si g ne retourne Rien, calculer h. Si l'un d'eux de calcul Juste, arrêter la chaîne. Et l'ensemble de la composition (h . g . f) ne doivent évidemment de retour Peut-être un.
C'est l'inverse de l'utilisation classique de la monade Peut-être, où, en principe, vous arrêtez de calcul, si Rien n'est retourné.
Quel est le langage Haskell pour le chaînage des calculs de ce genre?