Demandedness analysis: checks whether functions demands a particular argument, i.e., delivers only bottom if some argument is bottom.
type DemandedArgs
= [Int]
Data type to represent information about demanded arguments. Demanded arguments are represented as a list of indices for the arguments, where arguments are numbered from 1.
data DemandDomain
Constructors:
Bot
:: DemandDomain
Top
:: DemandDomain
Known instances:
showDemand
:: AOutFormat -> [Int] -> String
lub
:: DemandDomain -> DemandDomain -> DemandDomain
demandAnalysis
:: Analysis [Int]
Demandedness analysis.
daFunc
:: FuncDecl -> [((String, String), [Int])] -> [Int]
daFuncRule
:: [((String, String), [Int])] -> Rule -> [Int]