until -package:numeric-prelude -package:streaming -package:foundation -package:hosc -package:dunai -package:scalpel-core -package:ghc -package:monad-loops -package:base-prelude -package:protolude -package:utility-ht

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.
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
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
Keep running an effectful computation until it returns a Right value, collecting the Left's using a supplied Monoid instance.
loop prompt until check
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.
Similar to Yampa's delayed switching. Loses a b in case of an exception.
Run the first automaton until the second one produces True from the output of the first.
Create a spline from a stream and an event stream. The spline uses the stream's values as its own output values. The spline will run until the event stream produces an event, at that point the last known output value and the event value are tupled and returned as the spline's result.
A variant of untilEvent that results in the last known output value.
Create a spline from an event stream. Outputs noevent until the event stream procs, at which point the spline concludes with the event value.