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

Safe HaskellNone
LanguageHaskell2010

Control.Effect.Random.Internal

Documentation

data Random m k Source #

Constructors

Random a => Random (a -> k) 
Random a => RandomR (a, a) (a -> k) 
Interleave (m a) (a -> k) 
Instances
Effect Random Source # 
Instance details

Defined in Control.Effect.Random.Internal

Methods

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

HFunctor Random Source # 
Instance details

Defined in Control.Effect.Random.Internal

Methods

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

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

Functor (Random m) Source # 
Instance details

Defined in Control.Effect.Random.Internal

Methods

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

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

(Carrier sig m, Effect sig, RandomGen g, Monad m) => Carrier (Random :+: sig) (RandomC g m) Source # 
Instance details

Defined in Control.Effect.Random

Methods

ret :: a -> RandomC g m a Source #

eff :: (Random :+: sig) (RandomC g m) (RandomC g m a) -> RandomC g m a Source #