until -package:numeric-prelude -package:yesod-paginator -package:prelude-compat -package:numhask -package:mixed-types-num -package:base -package:linear-base package:monad-loops

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_ ...
Execute an action repeatedly until its result satisfies a predicate, and return that result (discarding all others).
Analogue of (until) Yields the result of applying f until p holds.