CurryInfo: call-analysis-3.2.0 / Analysis.checkArgs

definition: Info
 
checkArgs :: (Int,Bool,Bool,Bool,String) -> [String]
          -> (Int,Bool,Bool,Bool,String)
checkArgs (depth,max,wlist,callpat,prog) args = case args of
  [] -> mainCallError []
  ("-d":ks:margs) -> let k = case readNat ks of
                               [(n,"")] -> n
                               _        -> mainCallError args
                      in checkArgs (k,max,wlist,callpat,prog) margs
  ("-max":margs) -> checkArgs (depth,True,wlist,callpat,prog) margs
  ("-wlist":margs) -> checkArgs (depth,max,True,callpat,prog) margs
  ("-fix":margs) -> checkArgs (depth,max,False,callpat,prog) margs
  ("-call" :margs) -> checkArgs (depth,max,wlist,True,prog) margs
  [mainmod] -> (depth,max,wlist,callpat,mainmod)
  _ -> mainCallError []
demand: Info
 arguments 1 2
deterministic: Info
 deterministic operation
failfree: Info
 (_, _)
indeterministic: Info
 referentially transparent operation
infix: Info
 no fixity defined
iotype: Info
 {({(,,,,)},{[]}) |-> _ || ({(,,,,)},{:}) |-> _}
name: Info
 checkArgs
precedence: Info
 no precedence defined
result-values: Info
 _
signature: Info
 (Prelude.Int, Prelude.Bool, Prelude.Bool, Prelude.Bool, String) -> [String]
-> (Prelude.Int, Prelude.Bool, Prelude.Bool, Prelude.Bool, String)
solution-complete: Info
 operation might suspend on free variables
terminating: Info
 possibly non-terminating
totally-defined: Info
 possibly non-reducible on same data term