Module Analysis.Groundness

Groundness/non-determinism effect analysis based on Brassel/Hanus'05.

Author: Michael Hanus

Version: November 2024

Summary of exported operations:

showGround :: AOutFormat -> Ground -> String  Deterministic 
groundAnalysis :: Analysis Ground  Deterministic 
showNDEffect :: AOutFormat -> NDEffect -> String  Deterministic 
ndEffectAnalysis :: Analysis NDEffect  Non-deterministic 

Exported datatypes:


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

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:

  • NDEffect :: Bool -> Bool -> [Int] -> NDEffect

Exported operations:

showGround :: AOutFormat -> Ground -> String  Deterministic 

showNDEffect :: AOutFormat -> NDEffect -> String  Deterministic