Safe Haskell | None |
---|
- module Clean.Applicative
- class Applicative m => Monad m where
- class Monad m => MonadFix m where
- mfix :: (a -> m a) -> m a
- class MonadTrans t where
- (=<<) :: Monad m => (a -> m b) -> m a -> m b
- (>>) :: Applicative f => f a1 -> f a -> f a
- return :: Unit f => a -> f a
- class Monad m => MonadState s m where
- newtype StateT s m a = StateT {
- runStateT :: s -> m (s, a)
- type State s a = StateT s Id a
- evalStateT :: Functor f => StateT a f b -> a -> f b
- execStateT :: Functor f => StateT b f b1 -> b -> f b
- runState :: State s a -> s -> (s, a)
- execState :: State s a -> s -> s
- evalState :: State s a -> s -> a
- class Monad m => MonadReader r m where
- newtype ReaderT r m a = ReaderT {
- runReaderT :: r -> m a
- type Reader r a = ReaderT r Id a
- class (Monad m, Monoid w) => MonadWriter w m where
- newtype WriterT w m a = WriterT {
- runWriterT :: m (w, a)
- type Writer w a = WriterT w Id a
- runWriter :: WriterT w Id a -> (w, a)
- class Monad m => MonadCont m where
- callCC :: ((a -> m b) -> m a) -> m a
- newtype ContT r m a = ContT {
- runContT :: (a -> m r) -> m r
- type Cont r a = ContT r Id a
- evalContT :: Unit m => ContT r m r -> m r
- evalCont :: ContT a Id a -> a
Documentation
module Clean.Applicative
The basic Monad interface
class Applicative m => Monad m whereSource
Monad [] | |
Monad IO | |
Monad Tree | |
Monad Interleave | |
Monad Id | |
Monad ((->) a) | |
Monad (Either a) | |
Monoid w => Monad ((,) w) | |
Monad (Const a) | |
MonadFix m => Monad (Backwards m) | |
(Monad f, Contravariant f, Monad g) => Monad (Compose f g) | |
Monad m => Monad (ContT r m) | |
(Monoid w, Monad m) => Monad (WriterT w m) | |
Monad m => Monad (ReaderT r m) | |
Monad m => Monad (StateT s m) | |
Monad m => Monad (Kleisli m a) |
class MonadTrans t whereSource
lift :: Monad m => m a -> t m aSource
internal :: Monad m => (forall c. m (c, a) -> m (c, b)) -> t m a -> t m bSource
MonadTrans Backwards | |
MonadTrans (ContT r) | |
Monoid w => MonadTrans (WriterT w) | |
MonadTrans (ReaderT r) | |
MonadTrans (StateT s) |
(>>) :: Applicative f => f a1 -> f a -> f aSource
Common monads
The State Monad
class Monad m => MonadState s m whereSource
(Monoid w, MonadState r m) => MonadState r (WriterT w m) | |
MonadState s m => MonadState s (ReaderT r m) | |
Monad m => MonadState s (StateT s m) |
A simple State Monad
MonadWriter w m => MonadWriter w (StateT s m) | |
MonadReader r m => MonadReader r (StateT s m) | |
Monad m => MonadState s (StateT s m) | |
MonadTrans (StateT s) | |
Unit m => Unit (StateT s m) | |
Monad m => Monad (StateT s m) | |
Monad m => Applicative (StateT s m) | |
Monad m => Functor (StateT s m) | |
MonadCont m => MonadCont (StateT s m) | |
MonadFix m => MonadFix (StateT s m) | |
Ring (m (s, a)) => Ring (StateT s m a) | |
Monoid (m (s, a)) => Monoid (StateT s m a) | |
Semigroup (m (s, a)) => Semigroup (StateT s m a) |
evalStateT :: Functor f => StateT a f b -> a -> f bSource
execStateT :: Functor f => StateT b f b1 -> b -> f bSource
The Reader monad
class Monad m => MonadReader r m whereSource
(Monoid w, MonadReader r m) => MonadReader r (WriterT w m) | |
Monad m => MonadReader r (ReaderT r m) | |
MonadReader r m => MonadReader r (StateT s m) |
A simple Reader monad
ReaderT | |
|
MonadWriter w m => MonadWriter w (ReaderT r m) | |
Monad m => MonadReader r (ReaderT r m) | |
MonadState s m => MonadState s (ReaderT r m) | |
MonadTrans (ReaderT r) | |
Monad m => Unit (ReaderT r m) | |
Monad m => Monad (ReaderT r m) | |
Monad m => Applicative (ReaderT r m) | |
Monad m => Functor (ReaderT r m) | |
MonadCont m => MonadCont (ReaderT r m) | |
MonadFix m => MonadFix (ReaderT r m) | |
Ring (m a) => Ring (ReaderT r m a) | |
Monoid (m a) => Monoid (ReaderT r m a) | |
Semigroup (m a) => Semigroup (ReaderT r m a) |
The Writer monad
class (Monad m, Monoid w) => MonadWriter w m whereSource
(Monad m, Monoid w) => MonadWriter w (WriterT w m) | |
MonadWriter w m => MonadWriter w (ReaderT r m) | |
MonadWriter w m => MonadWriter w (StateT s m) |
A simple Writer monad
WriterT | |
|
(Monad m, Monoid w) => MonadWriter w (WriterT w m) | |
(Monoid w, MonadReader r m) => MonadReader r (WriterT w m) | |
(Monoid w, MonadState r m) => MonadState r (WriterT w m) | |
Monoid w => MonadTrans (WriterT w) | |
(Monoid w, Monad m) => Unit (WriterT w m) | |
(Monoid w, Monad m) => Monad (WriterT w m) | |
(Monoid w, Monad m) => Applicative (WriterT w m) | |
(Monoid w, Monad m) => Functor (WriterT w m) | |
(Monoid w, MonadFix m) => MonadFix (WriterT w m) | |
Ring (m (w, a)) => Ring (WriterT w m a) | |
Monoid (m (w, a)) => Monoid (WriterT w m a) | |
Semigroup (m (w, a)) => Semigroup (WriterT w m a) |