extensible-effects-1.11.0.4: An Alternative to Monad Transformers
Control.Eff.Choose
Description
Nondeterministic choice effect
Synopsis
data Choose v Source
Nondeterministic choice
Constructors
Instances
choose :: Member Choose r => [a] -> Eff r a Source
choose lst non-deterministically chooses one value from the lst choose [] thus corresponds to failure
runChoice :: forall a r. Eff (Choose :> r) a -> Eff r [a] Source
Run a nondeterministic effect, returning all values.
mzero' :: Member Choose r => Eff r a Source
MonadPlus-like operators are expressible via choose
mplus' :: Member Choose r => Eff r a -> Eff r a -> Eff r a Source