CurryInfo: cass-analysis-4.0.0 / Analysis.Demandedness.daFunc

definition:
daFunc :: FuncDecl -> [(QName,DemandedArgs)] -> DemandedArgs
daFunc (Func (m,f) _ _ _ rule) calledFuncs
 | m == prelude && f `elem` prelude2s = [1,2]
 | m == prelude && f `elem` prelude1s = [1]
 | otherwise = daFuncRule calledFuncs rule
 where
  prelude2s = ["==","=:=","compare","<=","$#","$##","$!","$!!",
               "+","-","*","div","mod","divMod","quot","rem","quotRem"]
  prelude1s = ["seq","ensureNotFree","apply","cond","=:<=","negateFloat"]
demand:
argument 1
deterministic:
deterministic operation
documentation:
-- We define the demanded arguments of some primitive prelude operations.
-- Otherwise, we analyse the right-hand sides of the rule.
failfree:
(_, _)
indeterministic:
referentially transparent operation
infix:
no fixity defined
iotype:
{({Func},_) |-> {:,[]}}
name:
daFunc
precedence:
no precedence defined
result-values:
{:,[]}
signature:
FlatCurry.Types.FuncDecl -> [((String, String), [Prelude.Int])] -> [Prelude.Int]
solution-complete:
operation might suspend on free variables
terminating:
possibly non-terminating
totally-defined:
possibly non-reducible on same data term