until -package:numeric-prelude -package:streaming -package:foundation -package:hspec -package:sparse-linear-algebra -package:conferer -package:termonad -package:rebase
base Prelude GHC.Base,
amazonka-core Amazonka.Prelude,
hedgehog Hedgehog.Internal.Prelude,
base-compat Prelude.Compat,
protolude Protolude Protolude.Base,
base-prelude BasePrelude,
classy-prelude ClassyPrelude,
Cabal-syntax Distribution.Compat.Prelude,
basic-prelude CorePrelude,
ihaskell IHaskellPrelude,
numhask NumHask.Prelude,
github GitHub.Internal.Prelude,
clash-prelude Clash.HaskellPrelude,
ghc-lib-parser GHC.Prelude.Basic,
dimensional Numeric.Units.Dimensional.Prelude,
elerea FRP.Elerea.Simple.Pure,
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,
faktory Faktory.Prelude,
yesod-paginator Yesod.Paginator.Prelude,
distribution-opensuse OpenSuse.Prelude,
hledger-web Hledger.Web.Import 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_ ...
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.
Repeat an action until the condition is fulfilled or the cursor stops
moving. The Action may be performed zero times.
Keep running an effectful computation until it returns a
Right value, collecting the Left's using a supplied
Monoid instance.