until -package:numeric-prelude -package:base-prelude -package:hosc -package:numhask -package:ghc -package:prelude-compat -package:sparse-linear-algebra

until p f yields the result of applying f until p holds.
repeat action until result fulfills condition
until p f yields the result of applying f until p holds.
until p f yields the result of applying f until p holds.
Produce until the given event occurs. When it occurs, inhibit with its value forever.
  • Depends: now until event occurs.
  • Inhibits: forever after event occurs.
An until command.
Repeatedly run a computation until it produces a Just value. This can be useful when paired with a monad that has side effects. For example, we may have genId :: IO (Maybe Id) that uses a random number generator to allocate ids, but fails if it finds a collision. We can repeatedly run this with
retract (untilJust genId) :: IO Id
Keep running an operation until it becomes a Just, then return the value inside the Just as the result of the overall loop.
Run the supplied Maybe computation repeatedly until it returns a value. Returns that value.
Execute an action repeatedly until the condition expression returns True. The condition is evaluated after the loop body. Collects results into a list. Parameters are arranged for infix usage. eg. do {...} untilM_ ...
Execute an action repeatedly until the condition expression returns True. The condition is evaluated after the loop body. Collects results into a MonadPlus value. Parameters are arranged for infix usage. eg. do {...} untilM_ ...
Execute an action repeatedly until the condition expression returns True. The condition is evaluated after the loop body. Discards results. Parameters are arranged for infix usage. eg. do {...} untilM_ ...
Deprecated: use M.until
Repeat a
This utility function run a list of IO actions and returns the first that return a Just, if no one does, returns Nothing
Keep running an effectful computation until it returns a Right value, collecting the Left's using a supplied Monoid instance.
Similar to Yampa's delayed switching. Loses a b in case of an exception.
Run the first msf until the second one produces True from the output of the first.
Create a new serial context by moving the focus backward and collecting nodes until the scraper matches the focused node. The serial scraper is then executed on the collected nodes.
Create a new serial context by moving the focus forward and collecting nodes until the scraper matches the focused node. The serial scraper is then executed on the collected nodes. The provided serial scraper is unable to see nodes outside the new restricted context.