durum tek hücreli "arayüz"devam atom "arayüz"
class MonadState s m where
get :: m s
put :: s -> m()
(+ dönüş ve bağlama) State
yapıcı kullanmadan Devlet monadın ile muhtemel bir hesaplama kurulmasına olanak sağlar. Örneğin, State $ \s -> (s+1, s-1)
ben ask
, return
ve (>>=)
kullanarak bu hesaplama oluşturabilir çünkü Reader
yapıcı kullanmak zorunda asla
do s <- get
put (s-1)
return (s+1)
Benzer şekilde olarak yazılabilir. Kesinlikle: Reader f == ask >>= return . f
.
MonadCont
tek işlevi)
callCC
kullanılarak
Cont r a
tüm örneklerini yazma ve
Cont (\c -> ...)
gibi bir şey yazın asla mümkün mü?
Ancak, sürekliliği sınırlandırırsanız bu değişiklikleri beklerim ... –