Je me demande, vous dites que flatMap
est la méthode bind
de monad. La méthode bind prend une fonction qui associe l'élément contenu de monad à une autre monade. Voici commentPourquoi bind aplatit la liste?
option.flatMap(item => another option (f(item)))
me donne une autre monade avec f(item)
intérieur. Mais, qu'est-ce que cela signifie pour List? Par extension Strightforward, si vous mappez chaque élément de liste à une monade (liste), vous obtenez la liste complète des listes. Pourquoi bind
aplatir le résultat lorsqu'il est appliqué à la liste?
"* à une autre monad *" devrait se lire "... mappe l'élément contenu dans un conteneur de la même monade" – Bergi