CurryInfo: call-analysis-3.2.0 / Analysis.callPatternAnalysis

definition: Info
 
callPatternAnalysis :: Int -> Bool -> Bool -> String -> IO ()
callPatternAnalysis termdepth keepmax withwlist modname = do
    rules <- readRules modname
    let absdom = depthDom termdepth
        maincalls = [abstractCall absdom (getMainCall rules)]
        lessSpecificEq = lessSpecificEqCallPattern lessDSpecific
    printProgram absdom rules maincalls
    let seminsertion = if keepmax then updateSemEq lessSpecificEq
                                  else insertSemEq
    fpsem <- if not withwlist
             then runFixpoint absdom seminsertion rules maincalls False eqSemInt
             else runFixpointWL absdom lessSpecificEq rules maincalls False
    putStrLn (showSemInt absdom (sort fpsem))
demand: Info
 no demanded arguments
deterministic: Info
 deterministic operation
documentation: Info
 
Call pattern analysis with depth-k domain.
failfree: Info
 <FAILING>
indeterministic: Info
 referentially transparent operation
infix: Info
 no fixity defined
iotype: Info
 {(_,_,_,_) |-> _}
name: Info
 callPatternAnalysis
precedence: Info
 no precedence defined
result-values: Info
 _
signature: Info
 Prelude.Int -> Prelude.Bool -> Prelude.Bool -> String -> Prelude.IO ()
solution-complete: Info
 operation might suspend on free variables
terminating: Info
 possibly non-terminating
totally-defined: Info
 possibly non-reducible on same data term