fused-effects-0.2.0.1: A fast, flexible, fused effect system.

Safe HaskellNone
LanguageHaskell2010

Control.Effect.Void

Synopsis

Documentation

data Void (m :: * -> *) k Source #

Instances
Effect Void Source # 
Instance details

Defined in Control.Effect.Void

Methods

handle :: Functor f => f () -> (forall x. f (m x) -> n (f x)) -> Void m (m a) -> Void n (n (f a)) Source #

HFunctor Void Source # 
Instance details

Defined in Control.Effect.Void

Methods

fmap' :: (a -> b) -> Void m a -> Void m b Source #

hmap :: (forall x. m x -> n x) -> Void m a -> Void n a Source #

Carrier Void VoidC Source # 
Instance details

Defined in Control.Effect.Void

Methods

ret :: a -> VoidC a Source #

eff :: Void VoidC (VoidC a) -> VoidC a Source #

Functor (Void m) Source # 
Instance details

Defined in Control.Effect.Void

Methods

fmap :: (a -> b) -> Void m a -> Void m b #

(<$) :: a -> Void m b -> Void m a #

run :: Eff VoidC a -> a Source #

Run an Eff exhausted of effects to produce its final result value.

newtype VoidC a Source #

Constructors

VoidC 

Fields

Instances
Monad VoidC Source # 
Instance details

Defined in Control.Effect.Void

Methods

(>>=) :: VoidC a -> (a -> VoidC b) -> VoidC b #

(>>) :: VoidC a -> VoidC b -> VoidC b #

return :: a -> VoidC a #

fail :: String -> VoidC a #

Functor VoidC Source # 
Instance details

Defined in Control.Effect.Void

Methods

fmap :: (a -> b) -> VoidC a -> VoidC b #

(<$) :: a -> VoidC b -> VoidC a #

Applicative VoidC Source # 
Instance details

Defined in Control.Effect.Void

Methods

pure :: a -> VoidC a #

(<*>) :: VoidC (a -> b) -> VoidC a -> VoidC b #

liftA2 :: (a -> b -> c) -> VoidC a -> VoidC b -> VoidC c #

(*>) :: VoidC a -> VoidC b -> VoidC b #

(<*) :: VoidC a -> VoidC b -> VoidC a #

Carrier Void VoidC Source # 
Instance details

Defined in Control.Effect.Void

Methods

ret :: a -> VoidC a Source #

eff :: Void VoidC (VoidC a) -> VoidC a Source #