Module Analysis.Groundness

Author
Michael Hanus
Version
November 2024

Groundness/non-determinism effect analysis based on the method described in the ICLP 2005 paper.

Exported Datatypes


data Ground

Type to represent groundness information. Definitely ground (G), maybe non-ground (A), or maybe non-ground if i-th argument is non-ground (P [...,i,...]).

Constructors:

  • G :: Ground
  • A :: Ground
  • P :: [Int] -> Ground

Known instances:


data NDEffect

Type to represent non-determinism effects. A non-determinism effect can be due to an Or (first argument), due to a narrowing step (second argument), or if i-th argument is non-ground (if i is a member of the third argument).

Constructors:

Known instances:


Exported Functions


showGround :: AOutFormat -> Ground -> String  Deterministic 


groundAnalysis :: Analysis Ground  Deterministic 


showNDEffect :: AOutFormat -> NDEffect -> String  Deterministic 


ndEffectAnalysis :: Analysis NDEffect  Non-deterministic