Der Zustand monadisch "interface"Continuation monadisch "Schnittstelle"
class MonadState s m where
get :: m s
put :: s -> m()
(+ Rückkehr und bind) ermöglicht, mit monadisch Staat eine mögliche Berechnung zu konstruieren, ohne State
Konstruktor. Zum Beispiel State $ \s -> (s+1, s-1)
als
do s <- get
put (s-1)
return (s+1)
ähnlich geschrieben werden, ich habe nie Reader
Konstruktor verwenden, da ich diese Berechnung erstellen ask
, return
und (>>=)
verwenden. Genau: Reader f == ask >>= return . f
.
Ist es das gleiche gilt für die Fortsetzungen - ist es möglich, alle Instanzen von Cont r a
mit callCC
(der einzigen Funktion in MonadCont
) einzutragen, zurückzukehren und zu binden, und nie so etwas wie Cont (\c -> ...)
geben?
Ich erwarte jedoch, dass sich das ändert, wenn Sie Fortsetzungen begrenzt haben ... –