Module
Control.Monad.Free.Trans
- Package
- purescript-freet
- Repository
- purescript-contrib/purescript-freet
This module defines a stack-safe implementation of the free monad transformer.
#FreeT Source
data FreeT :: (Type -> Type) -> (Type -> Type) -> Type -> Type
data FreeT f m a
The free monad transformer for the functor f
.
Instances
(Functor f, Functor m) => Functor (FreeT f m)
(Functor f, Monad m) => Apply (FreeT f m)
(Functor f, Monad m) => Applicative (FreeT f m)
(Functor f, Monad m) => Bind (FreeT f m)
(Functor f, Monad m) => Monad (FreeT f m)
(Functor f) => MonadTrans (FreeT f)
(Functor f, Monad m) => MonadRec (FreeT f m)
(Functor f, Monad m, Semigroup w) => Semigroup (FreeT f m w)
(Functor f, Monad m, Monoid w) => Monoid (FreeT f m w)
(Functor f, MonadEffect m) => MonadEffect (FreeT f m)
(Functor f, MonadAff m) => MonadAff (FreeT f m)
(Functor f, MonadAsk r m) => MonadAsk r (FreeT f m)
(Functor f, MonadTell w m) => MonadTell w (FreeT f m)
(Functor f, MonadState s m) => MonadState s (FreeT f m)
(Functor f, MonadThrow e m) => MonadThrow e (FreeT f m)