CurryInfo: call-analysis-3.2.0 / Analysis.printProgram

definition:
printProgram :: ADom a -> [Rule] -> [(String,[a])] -> IO ()
printProgram adom rules maincalls = do
  putStrLn $ "\nRewrite rules:\n\n" ++ showTRS rules
  putStrLn $ "\nMain calls: " ++
             intercalate ", " (map showATermCall maincalls)
  putStrLn ""
 where
  showATerm = adomShow adom

  showATermCall (f,args) =
    f ++ (if null args
          then []
          else '(' : intercalate "," (map showATerm args) ++ ")")
demand:
no demanded arguments
deterministic:
deterministic operation
documentation:
-- Prints a program and a list of abstract main calls.
-- The abstract domain is provided as a first argument.
failfree:
<FAILING>
indeterministic:
referentially transparent operation
infix:
no fixity defined
iotype:
{(_,_,_) |-> _}
name:
printProgram
precedence:
no precedence defined
result-values:
_
signature:
ADom a -> [TRS.Rule] -> [(String, [a])] -> Prelude.IO ()
solution-complete:
operation might suspend on free variables
terminating:
possibly non-terminating
totally-defined:
possibly non-reducible on same data term