CurryInfo: benchmark-papers-3.0.0 / Test.Benchmark.runUntilOn

definition:
 
runUntilOn :: (a -> Benchmark b) -> (b -> Bool) -> [a] -> Benchmark [(a,b)]
runUntilOn _ _ [] = return []
runUntilOn bench stop (x:xs) = do
  bmresult <- bench x
  if stop bmresult
    then return []
    else do results <- runUntilOn bench stop xs
            return ((x,bmresult):results)
demand:
 argument 3
deterministic:
 deterministic operation
documentation:
 
Runs a `Maybe` benchmark on an (infinite) input list of values
until a benchmark delivers `Nothing`.

@param bench - the `Maybe` benchmark parameterized by the input data
@param benchdata - the list of input data for the benchmarks
@return Benchmark with the list of input data and benchmark results pairs
failfree:
 (_, _, _)
indeterministic:
 referentially transparent operation
infix:
 no fixity defined
iotype:
 {(_,_,{[]}) |-> _ || (_,_,{:}) |-> _}
name:
 runUntilOn
precedence:
 no precedence defined
result-values:
 _
signature:
 (a -> Benchmark b) -> (b -> Prelude.Bool) -> [a] -> Benchmark [(a, b)]
solution-complete:
 operation might suspend on free variables
terminating:
 possibly non-terminating
totally-defined:
 reducible on all ground data terms