Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data Loop c e a
- class MemberEffect Loop (Loop c e) l => EffectLoop c e l
- loop :: EffectLoop c e l => (forall r. (c -> r) -> (e -> r) -> (a -> r) -> r) -> Effect l a
- stepLoop :: Effect (Loop c e :+ l) c -> (c -> Effect l e) -> Effect l e
- data LoopState c e a
- = ContinueWith c
- | ExitWith e
- | Return a
- loop' :: EffectLoop c e l => LoopState c e a -> Effect l a
- toCPS :: LoopState c e a -> Loop c e a
- fromCPS :: Loop c e a -> LoopState c e a
- continue :: EffectLoop () e l => Effect l a
- exit :: EffectLoop c () l => Effect l a
- continueWith :: forall c e l a. EffectLoop c e l => c -> Effect l a
- exitWith :: EffectLoop c e l => e -> Effect l a
- foreach :: [a] -> (a -> Effect (Loop c () :+ l) c) -> Effect l ()
- while :: Effect l Bool -> Effect (Loop c () :+ l) c -> Effect l ()
- doWhile :: Effect (Loop a a :+ l) a -> Effect l Bool -> Effect l a
- once :: Effect (Loop a a :+ l) a -> Effect l a
- repeatLoop :: Effect (Loop c e :+ l) a -> Effect l e
- iterateLoop :: c -> (c -> Effect (Loop c e :+ l) c) -> Effect l e
Documentation
class MemberEffect Loop (Loop c e) l => EffectLoop c e l Source
MemberEffect (* -> * -> * -> *) Loop (Loop c e) l => EffectLoop c e l |
loop :: EffectLoop c e l => (forall r. (c -> r) -> (e -> r) -> (a -> r) -> r) -> Effect l a Source
Lift a CPS style computation with continuation and exit handler to the Effect
monad.
ContinueWith c | |
ExitWith e | |
Return a |
loop' :: EffectLoop c e l => LoopState c e a -> Effect l a Source
continue :: EffectLoop () e l => Effect l a Source
exit :: EffectLoop c () l => Effect l a Source
continueWith :: forall c e l a. EffectLoop c e l => c -> Effect l a Source
exitWith :: EffectLoop c e l => e -> Effect l a Source