Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
data EffMethods e (m :: * -> *) :: * Source #
type CanLift e (t :: (* -> *) -> * -> *) :: Constraint Source #
liftThrough :: forall t m. (CanLift e t, Monad m, Monad (t m)) => EffMethods e m -> EffMethods e (t m) Source #
liftThrough :: forall t m. (Generic (EffMethods e m), MonadTrans t, Monad m, Monad (t m), SimpleMethods (EffMethods e) m t) => EffMethods e m -> EffMethods e (t m) Source #
mergeContext :: Monad m => m (EffMethods e m) -> EffMethods e m Source #
mergeContext :: (Generic (EffMethods e m), MonadicMethods (EffMethods e) m) => m (EffMethods e m) -> EffMethods e m Source #
class (Effect e, Monad m) => MonadEffect e m where Source #
effect :: EffMethods e m Source #
MonadEffect Async IO Source # | The |
(MonadEffect e m, Monad (t m), CanLift e t) => MonadEffect e (t m) Source # | |
Monad m => MonadEffect NonDeterminism (ListT m) Source # | |
(Effect e, Monad m, CanLift e (RuntimeImplemented e)) => MonadEffect e (RuntimeImplemented e m) Source # | |
Monad m => MonadEffect (State s) (StateT s m) Source # | |
Monad m => MonadEffect (HandleException e) (ExceptT e m) Source # | |
TypeError Constraint (UnhandledError a b) => MonadEffect (Signal a b) IO Source # | |
Monad m => MonadEffect (Signal a b) (MaybeT m) Source # | |
(Monad m, (~) * b c) => MonadEffect (Signal a c) (RuntimeImplemented (Signal a b) m) Source # | |
(Show e, Monad m) => MonadEffect (Signal e b) (ExceptT SomeSignal m) Source # | |
Monad m => MonadEffect (Signal e b) (ExceptT e m) Source # | |
newtype RuntimeImplemented e m a Source #
RuntimeImplemented | |
|
implement :: forall e m a. EffMethods 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) |