Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
class Effect (e :: (* -> *) -> *) where Source #
liftThrough :: forall t m. (CanLift e t, Monad m, Monad (t m)) => e m -> e (t m) Source #
liftThrough :: forall t m. (Generic (e m), MonadTrans t, Monad m, Monad (t m), SimpleMethods e m t) => e m -> e (t m) Source #
mergeContext :: Monad m => m (e m) -> e m Source #
mergeContext :: (Generic (e m), MonadicMethods e m) => m (e m) -> e m Source #
class (Effect e, Monad m) => MonadEffect e m where Source #
newtype RuntimeImplemented e m a Source #
RuntimeImplemented | |
|
implement :: forall e m a. e m -> RuntimeImplemented e m a -> m a Source #
type family MonadEffects effs m :: Constraint where ... Source #
MonadEffects '[] m = () | |
MonadEffects (eff ': effs) m = (MonadEffect eff m, MonadEffects effs m) |