Articles of monades

Quel est le but du Reader Monad?

Le Reader Monad est tellement complexe et semble inutile. Dans un langage impératif comme Java ou C ++, il n’y a pas de terme équivalent pour le lecteur monad (si j’ai raison). Pouvez-vous me donner un exemple simple et me faire comprendre un peu?

Modèles de conception fonctionnelle

Il y a beaucoup d’idiomes fonctionnels: monades, applicatifs, flèches, etc. Ils sont documentés dans différents articles mais malheureusement, je ne connais aucun livre ou article où ils sont résumés au même endroit (il y a Typeclassopedia mais il y en a beaucoup des zones qui ne sont pas bien couvertes). Quelqu’un peut-il recommander un article […]

Motif pour éviter les blocs de capture nesteds?

Considérez une situation où j’ai trois (ou plus) façons d’effectuer un calcul, chacune pouvant échouer avec une exception. Pour tenter chaque calcul jusqu’à ce que nous en trouvions un qui réussisse, j’ai fait ce qui suit: double val; try { val = calc1(); } catch (Calc1Exception e1) { try { val = calc2(); } catch […]

Scalaz iteratees: «Lifting» `EnumeratorT` pour faire correspondre` IterateeT` à une monade «plus grande»

Si j’ai un EnumeratorT et un IterateeT correspondant, je peux les exécuter ensemble: val en: EnumeratorT[Ssortingng, Task] = EnumeratorT.enumList(List(“a”, “b”, “c”)) val it: IterateeT[Ssortingng, Task, Int] = IterateeT.length (it &= en).run : Task[Int] Si l’énumérateur monade est “plus grand” que l’iteratee monad, je peux utiliser ou, plus généralement, hisser pour “lever” l’iterate pour correspondre: val […]

Pourquoi avons-nous besoin de monades?

À mon humble avis, les réponses à la fameuse question “Qu’est-ce qu’une monade?” , surtout les plus votés, essayez d’expliquer ce qu’est une monade sans expliquer clairement pourquoi les monades sont vraiment nécessaires . Peut-on les expliquer comme solution à un problème?