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

definition:
 
runUntilNothingOn :: Eq b => (a -> Benchmark (Maybe b)) -> [a]
                          -> Benchmark [(a,b)]
runUntilNothingOn bench benchdata =
  mapBench (map (\ (x,Just y) -> (x,y)))
           (runUntilOn bench (==Nothing) benchdata)
demand:
 argument 3
deterministic:
 deterministic operation
documentation:
 
Run 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:
 <FAILING>
indeterministic:
 referentially transparent operation
infix:
 no fixity defined
iotype:
 {(_,_,_) |-> _}
name:
 runUntilNothingOn
precedence:
 no precedence defined
result-values:
 _
signature:
 Prelude.Eq b => (a -> Benchmark (Prelude.Maybe b)) -> [a] -> Benchmark [(a, b)]
solution-complete:
 operation might suspend on free variables
terminating:
 possibly non-terminating
totally-defined:
 possibly non-reducible on same data term