Module Analysis.Groundness

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

Author
Michael Hanus
Version
November 2024

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