La monade Maybe
· ☕ 12 min de lecture
Dans cet article, je souhaite introduire le programmeur à la monade Maybe
. Je
compte le faire en utilisant le langage Haskell puisqu’il s’agit du langage
fonctionnel que je maîtrise le mieux et que je le considère très expressif et
accessible. Afin de démontrer les bénéfices de la monade et des concepts
d’Haskell, je vais comparer ceux-ci aux méthodes usuelles du langage C++.
En une phrase, la monade Maybe
peut être vue comme un design pattern de
gestion des cas d’erreur ou d’exception. Je vais donc utiliser un exemple fictif
et peu réaliste, mais simple, qui permet de capturer l’idée générale. Disons
qu’on a une liste de contacts pour lesquels on souhaite exécuter un traitement.
Cependant, on décide que, dans la région du programme où on implémente le code
associé à cette liste de contact, une opération qui échoue sur un contact
devrait arrêter le fil d’exécution du programme.