Module Verify.Helpers

Summary of exported operations:

loadAnalysisWithImports :: (Read a, Show a) => IORef (AnalysisStore a) -> Analysis a -> Options -> Prog -> IO ((String,String) -> a)  Non-deterministic 
sortFunResults :: [((String,String),a)] -> [((String,String),a)]  Deterministic 
showFunResults :: (a -> String) -> [((String,String),a)] -> [String]  Deterministic 
getModuleModTime :: String -> IO ClockTime  Deterministic 
Returns the modification time of a module.
patternArgs :: Pattern -> [Int]  Deterministic 
Return the pattern variables of a pattern.
allConsOfTypes :: [TypeDecl] -> [[((String,String),Int)]]  Deterministic 
Compute all constructors (and their arities) grouped by their types from type declarations.
readQC :: String -> (String,String)  Deterministic 
unknownType :: TypeExpr  Deterministic 
The "unknown" type (hopefully not really used at the end).
funcsInExpr :: Expr -> [(String,String)]  Deterministic 
Returns the qualified names of all functions occurring in an expression.
funcType2TypedVars :: [Int] -> TypeExpr -> [(Int,TypeExpr)]  Deterministic 
Transforms a list of argument variable (indices) and a function type expression into a list of corresponding typed variables.
freshVarPos :: [Int]  Deterministic 
Fresh variables, i.e., variables not occurring in a position of the left-hand side, are represented as a root position.
isFreshVarPos :: [Int] -> Bool  Deterministic 
Is a variable position the position of a fresh variable, i.e., a variable which does not occur in the left-hand side?
stdConstructors :: [[(String,String)]]  Deterministic 
Some predefined data constructors grouped by their types.
isEncSearchOp :: (String,String) -> Bool  Deterministic 
Is this the name of a non-failing encapsulated search operation?
isSetFunOp :: (String,String) -> Bool  Deterministic 
Is this the name of a set function?
isCurryID :: (String,String) -> Bool  Deterministic 
fst3 :: (a,b,c) -> a  Deterministic 
snd3 :: (a,b,c) -> b  Deterministic 
trd3 :: (a,b,c) -> c  Deterministic 

Exported datatypes:


AnalysisStore

Constructors:

  • AnaStore :: [(String,ProgInfo a)] -> AnalysisStore a

Pos

A position in a term is represented as list of integers.

Type synonym: Pos = [Int]


Exported operations:

loadAnalysisWithImports :: (Read a, Show a) => IORef (AnalysisStore a) -> Analysis a -> Options -> Prog -> IO ((String,String) -> a)  Non-deterministic 

sortFunResults :: [((String,String),a)] -> [((String,String),a)]  Deterministic 

showFunResults :: (a -> String) -> [((String,String),a)] -> [String]  Deterministic 

getModuleModTime :: String -> IO ClockTime  Deterministic 

Returns the modification time of a module.

patternArgs :: Pattern -> [Int]  Deterministic 

Return the pattern variables of a pattern.

Further infos:
  • solution complete, i.e., able to compute all solutions

allConsOfTypes :: [TypeDecl] -> [[((String,String),Int)]]  Deterministic 

Compute all constructors (and their arities) grouped by their types from type declarations.

readQC :: String -> (String,String)  Deterministic 

unknownType :: TypeExpr  Deterministic 

The "unknown" type (hopefully not really used at the end).

Further infos:
  • solution complete, i.e., able to compute all solutions

funcsInExpr :: Expr -> [(String,String)]  Deterministic 

Returns the qualified names of all functions occurring in an expression.

funcType2TypedVars :: [Int] -> TypeExpr -> [(Int,TypeExpr)]  Deterministic 

Transforms a list of argument variable (indices) and a function type expression into a list of corresponding typed variables.

freshVarPos :: [Int]  Deterministic 

Fresh variables, i.e., variables not occurring in a position of the left-hand side, are represented as a root position.

Further infos:
  • solution complete, i.e., able to compute all solutions

isFreshVarPos :: [Int] -> Bool  Deterministic 

Is a variable position the position of a fresh variable, i.e., a variable which does not occur in the left-hand side?

Further infos:
  • solution complete, i.e., able to compute all solutions

stdConstructors :: [[(String,String)]]  Deterministic 

Some predefined data constructors grouped by their types. Used for testing in module CallTypes.

isEncSearchOp :: (String,String) -> Bool  Deterministic 

Is this the name of a non-failing encapsulated search operation?

isSetFunOp :: (String,String) -> Bool  Deterministic 

Is this the name of a set function?

isCurryID :: (String,String) -> Bool  Deterministic 

fst3 :: (a,b,c) -> a  Deterministic 

Further infos:
  • solution complete, i.e., able to compute all solutions

snd3 :: (a,b,c) -> b  Deterministic 

Further infos:
  • solution complete, i.e., able to compute all solutions

trd3 :: (a,b,c) -> c  Deterministic 

Further infos:
  • solution complete, i.e., able to compute all solutions