until

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.
Produce until the given event occurs. When it occurs, inhibit with its value forever.
  • Depends: now until event occurs.
  • Inhibits: forever after event occurs.
until n s0 s1 means that eventually n s1, and up until at least the period before s1 holds, s0 continuously holds. Note: Both argument streams must have sufficient history to drop n values from them.
True until another stream is true, within the time bounds specified. until l u clk dist s0 s1 is true at time t iff there exists a d, with l <= d <= u, such that s1 is true at time (t + d), and for all times t' with t <= t' < t + d, s0 is true at those times.
Keep running an operation until it becomes a Just, then return the value inside the Just as the result of the overall loop.
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
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
Repeat action until f does not give Nothing when applied to result.
Repeat action until predicate f is True when applied to result.
Negation of whileM: execute an action so long as the boolean returns false.
This utility function run a list of IO actions and returns the first that return a Just, if no one does, returns Nothing
Repeat an action until the condition is fulfilled or the cursor stops moving. The Action may be performed zero times.