Module Analysis.Residuation

Residuation analysis: checks whether a function does not residuate and yields a ground value if some arguments are ground

Author: Michael Hanus

Version: November 2024

Summary of exported operations:

showResInfo :: AOutFormat -> ResiduationInfo -> String  Deterministic 
residuationAnalysis :: Analysis ResiduationInfo  Deterministic 
Non-residuation analysis.

Exported datatypes:


ResiduationInfo

Data type to represent residuation information. If an operation has info MayResiduate, it may residuate or yields a non-ground value even if all arguments are ground. If an operation has info NoResiduateIf xs, it does not residuate and yields a ground value if all arguments in the index list are ground, where arguments are numbered from 1.

Constructors:

  • MayResiduate :: ResiduationInfo
  • NoResiduateIf :: [Int] -> ResiduationInfo
  • NoResInfo :: ResiduationInfo

Exported operations:

showResInfo :: AOutFormat -> ResiduationInfo -> String  Deterministic 

residuationAnalysis :: Analysis ResiduationInfo  Deterministic 

Non-residuation analysis.