fused-effects-0.3.0.0: A fast, flexible, fused effect system.
Control.Effect.Pure
data Pure (m :: * -> *) k Source #
Defined in Control.Effect.Pure
Methods
handle :: Functor f => f () -> (forall x. f (m x) -> n (f x)) -> Pure m (m a) -> Pure n (n (f a)) Source #
fmap' :: (a -> b) -> Pure m a -> Pure m b Source #
hmap :: (forall x. m x -> n x) -> Pure m a -> Pure n a Source #
eff :: Pure PureC (PureC a) -> PureC a Source #
ret :: a -> PureC a Source #
fmap :: (a -> b) -> Pure m a -> Pure m b #
(<$) :: a -> Pure m b -> Pure m a #
run :: PureC a -> a Source #
Run an action exhausted of effects to produce its final result value.
newtype PureC a Source #
Constructors
Fields
(>>=) :: PureC a -> (a -> PureC b) -> PureC b #
(>>) :: PureC a -> PureC b -> PureC b #
return :: a -> PureC a #
fail :: String -> PureC a #
fmap :: (a -> b) -> PureC a -> PureC b #
(<$) :: a -> PureC b -> PureC a #
pure :: a -> PureC a #
(<*>) :: PureC (a -> b) -> PureC a -> PureC b #
liftA2 :: (a -> b -> c) -> PureC a -> PureC b -> PureC c #
(*>) :: PureC a -> PureC b -> PureC b #
(<*) :: PureC a -> PureC b -> PureC a #