Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Control.Effects.Generic
Documentation
class (Generic (a m), Generic (a (t m)), SimpleMethodsRep (Rep (a m)) (Rep (a (t m))) m t) => SimpleMethods a (m :: * -> *) (t :: (* -> *) -> * -> *) where Source #
Methods
liftSimple :: a m -> a (t m) Source #
Instances
(Generic (a m), Generic (a (t m)), SimpleMethodsRep (Rep (a m)) (Rep (a (t m))) m t) => SimpleMethods a m t Source # | |
Defined in Control.Effects.Generic Methods liftSimple :: a m -> a (t m) Source # |
class SimpleMethodsRep r r' (m :: * -> *) (t :: (* -> *) -> * -> *) where Source #
Methods
liftSimpleRep :: r x -> r' x Source #
Instances
class SimpleMethod f ft (m :: * -> *) (t :: (* -> *) -> * -> *) where Source #
Methods
liftMethod :: f -> ft Source #
Instances
ForceError (TypeError (Text "The result of all methods must be monadic." :$$: ((((Text "One of the methods' result is of type `" :<>: ShowType a) :<>: Text "`. Maybe try `") :<>: ShowType (m a)) :<>: Text "` instead.")) :: Type) => SimpleMethod a b m t Source # | |
Defined in Control.Effects.Generic Methods liftMethod :: a -> b Source # | |
(MonadTrans t, Monad m) => SimpleMethod (m a) (t m a) m t Source # | |
Defined in Control.Effects.Generic Methods liftMethod :: m a -> t m a Source # | |
ForceError (TypeError (Text "Parameters of methods can't depend on the monadic context." :$$: ((((Text "The parameter `" :<>: ShowType a) :<>: Text "` depends on `") :<>: ShowType m) :<>: Text "`")) :: Type) => SimpleMethod (a -> f) (a' -> ft) m t Source # | |
Defined in Control.Effects.Generic Methods liftMethod :: (a -> f) -> a' -> ft Source # | |
SimpleMethod f ft m t => SimpleMethod (a -> f) (a -> ft) m t Source # | |
Defined in Control.Effects.Generic Methods liftMethod :: (a -> f) -> a -> ft Source # |
genericLiftThrough :: forall t e m. (MonadTrans t, Monad m, Monad (t m), SimpleMethods e m t) => e m -> e (t m) Source #
class (Generic (a m), MonadicMethodsRep (Rep (a m)) m, Monad m) => MonadicMethods a m where Source #
Methods
mergeMonadicMethods :: m (a m) -> a m Source #
Instances
(Generic (a m), MonadicMethodsRep (Rep (a m)) m, Monad m) => MonadicMethods a m Source # | |
Defined in Control.Effects.Generic Methods mergeMonadicMethods :: m (a m) -> a m Source # |
class MonadicMethodsRep r m where Source #
Methods
mergeMonadicMethodsRep :: m (r x) -> r x Source #
Instances
class MonadicMethod a m where Source #
Methods
mergeMonadicMethod :: m a -> a Source #
Instances
ForceError (TypeError (Text "The result of all methods must be monadic." :$$: ((((Text "One of the methods' result is of type `" :<>: ShowType a) :<>: Text "`. Maybe try `") :<>: ShowType (m a)) :<>: Text "` instead.")) :: Type) => MonadicMethod a m Source # | |
Defined in Control.Effects.Generic Methods mergeMonadicMethod :: m a -> a Source # | |
Monad m => MonadicMethod (m a) m Source # | |
Defined in Control.Effects.Generic Methods mergeMonadicMethod :: m (m a) -> m a Source # | |
(MonadicMethod b m, Functor m) => MonadicMethod (a -> b) m Source # | |
Defined in Control.Effects.Generic Methods mergeMonadicMethod :: m (a -> b) -> a -> b Source # |
genericMergeContext :: MonadicMethods a m => m (a m) -> a m Source #
class ForceError (x :: *) Source #