Warum brauchen wir Monade Transformers in Scala?

8

Mein Verständnis ist das Folgende:

Angenommen, M1 und M2 sind Monaden, d.h. sie stellen die Funktionen unit und flatMap bereit, die den monadischen Gesetzen entsprechen. Leider können nicht unit und flatMap für M1[M2] erstellen. Es sieht so aus, als ob die unit und flatMap nicht immer für alle M1 und M2 existieren. Ich weiß nicht, ob wir es beweisen müssen.

Die Lösung besteht also darin, einen -Wrapper W für M1[M2] zu erstellen, so dass W[M1, M2] eine Monade ist, und stattdessen zu verwenden. Dieser Wrapper W heißt Monad Transformer .

Verstehe ich es richtig?

    
Michael 12.03.2014, 12:00
quelle

1 Antwort

3

Sie haben Recht. In der Regel werden sie in For-Comprehension-Konstruktionen verwendet, in denen Sie Monaden-Eigenschaften kombinieren müssen.

Monade Transformatoren "Schritt-für-Schritt" hier .

    
Yuriy 12.03.2014 12:14
quelle