CurryInfo: call-analysis-3.2.0 / Analysis.computeFixpoint

definition: Info
 
computeFixpoint :: Bool -> Int -> (a->String) -> (a->a->Bool) -> (a->a) -> a
                -> IO a
computeFixpoint withprint n prt eq f v = do
  if withprint then putStrLn (show n ++ ": " ++ prt v)
               else putStr (' ':show n) >> hFlush stdout
  let fv = f v
  if  eq v fv
   then do putStrLn $ "\nFixpoint reached after " ++ show n ++ " iterations"
           return v
   else computeFixpoint withprint (n+1) prt eq f fv
demand: Info
 no demanded arguments
deterministic: Info
 deterministic operation
documentation: Info
 
Performs an iterated fixpoint computation.
failfree: Info
 (_, _, _, _, _, _)
indeterministic: Info
 referentially transparent operation
infix: Info
 no fixity defined
iotype: Info
 {(_,_,_,_,_,_) |-> _}
name: Info
 computeFixpoint
precedence: Info
 no precedence defined
result-values: Info
 _
signature: Info
 Prelude.Bool -> Prelude.Int -> (a -> String) -> (a -> a -> Prelude.Bool) -> (a
-> a) -> a -> Prelude.IO a
solution-complete: Info
 operation might suspend on free variables
terminating: Info
 possibly non-terminating
totally-defined: Info
 possibly non-reducible on same data term