https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_56/2021-02-26-fr-README.html
Les foncteurs, les applicatives et les monades sont des structures permettant d’ajouter des fonctionnalités particulières à des types (par exemple, appliquer une fonction à l’intérieur du type, chainer des opérations…). Ces notions sont très puissantes et très classiques en Haskell mais peuvent paraître difficiles au premier abord car elles sont souvent peu connues dans les autres langages et font appel à des notions assez avancées comme la notion de kind (sorte d’un type).
Cet article introduit la notion de sorte, puis présente et illustre les notions de foncteur, d’applicative et de monade. Enfin, il présente comment implémenter ces fonctionnalités pour un nouveau type.