fused-effects-random-1.0.0.0: Random number generation for fused-effects.

Control.Effect.Random

Synopsis

# Random effect

data Random m k Source #

Constructors

 Random a => Random (a -> m k) Random a => RandomR (a, a) (a -> m k) Interleave (m a) (a -> m k)
Instances

# Re-exports

type Has (eff :: (Type -> Type) -> Type -> Type) (sig :: (Type -> Type) -> Type -> Type) (m :: Type -> Type) = (Members eff sig, Algebra sig m) #

m is a carrier for sig containing eff.

Note that if eff is a sum, it will be decomposed into multiple Member constraints. While this technically allows one to combine multiple unrelated effects into a single Has constraint, doing so has two significant drawbacks:

1. Due to a problem with recursive type families, this can lead to significantly slower compiles.
2. It defeats ghc’s warnings for redundant constraints, and thus can lead to a proliferation of redundant constraints as code is changed.

run :: Identity a -> a #

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

Since: fused-effects-1.0.0.0