until -package:numeric-prelude -package:streaming -package:foundation -package:hosc -package:faktory -package:monad-loops -package:conferer -package:elerea -package:probability -package:netwire -package:ghc
base Prelude GHC.Base,
hedgehog Hedgehog.Internal.Prelude,
base-compat Prelude.Compat,
protolude Protolude Protolude.Base,
base-prelude BasePrelude,
classy-prelude ClassyPrelude,
basic-prelude CorePrelude,
Cabal-syntax Distribution.Compat.Prelude,
github GitHub.Internal.Prelude,
numhask NumHask.Prelude,
ghc-lib-parser GHC.Prelude.Basic,
dimensional Numeric.Units.Dimensional.Prelude,
rebase Rebase.Prelude,
mixed-types-num Numeric.MixedTypes.PreludeHiding,
xmonad-contrib XMonad.Config.Prime,
linear-base Prelude.Linear,
LambdaHack Game.LambdaHack.Core.Prelude,
cabal-install-solver Distribution.Solver.Compat.Prelude,
yesod-paginator Yesod.Paginator.Prelude,
distribution-opensuse OpenSuse.Prelude,
hledger-web Hledger.Web.Import,
termonad Termonad.Prelude 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.
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.
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.
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.
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.