Safe Haskell | None |
---|---|
Language | Haskell2010 |
- type EffectList = Member List
- data List a
- runList :: Effect (List : es) a -> Effect es [a]
- choose :: EffectList es => [a] -> Effect es a
- never :: EffectList es => Effect es a
- select :: EffectList es => [Effect es a] -> Effect es a
- type EffectCut = Member Cut
- data Cut a
- cut :: (EffectList es, EffectCut es) => Effect es a
- runCut :: EffectList es => Effect (Cut : es) a -> Effect es a
Documentation
type EffectList = Member List Source
runList :: Effect (List : es) a -> Effect es [a] Source
Obtains all possible values from a computation parameterized by a nondeterminism effect.
choose :: EffectList es => [a] -> Effect es a Source
Nondeterministically chooses a value from the input list.
never :: EffectList es => Effect es a Source
Describes a nondeterministic computation that never returns a value.
select :: EffectList es => [Effect es a] -> Effect es a Source
Nondeterministically chooses a value from a list of computations.
Describes a Prolog-like cut effect.
This effect must be used with the List
effect.