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  Non-deterministic 
Returns the modification time of a module.
transformChoiceInProg :: Prog -> Prog  Deterministic 
Replace all occurrences of Prelude.? in a FlatCurry program by Or expressions.
patternArgs :: Pattern -> [Int]  Deterministic 
allConsOfTypes :: [TypeDecl] -> [[((String,String),Int)]]  Deterministic 
Compute all constructors (and their arities) grouped by their types from type declarations.
readQC :: String -> (String,String)  Deterministic 
funcsInExpr :: Expr -> [(String,String)]  Deterministic 
Returns the qualified names of all functions occurring in an expression.
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?
pre :: String -> (String,String)  Deterministic 
Transform name into Prelude-qualified name.
getSiblingsOf :: [[((String,String),Int)]] -> (String,String) -> Maybe [((String,String),Int)]  Deterministic 
Gets the siblings of a constructor w.r.t.
arityOfCons :: [[((String,String),Int)]] -> (String,String) -> Int  Deterministic 
Gets the siblings of a constructor w.r.t.
isCompleteConstructorList :: [[((String,String),Int)]] -> [(String,String)] -> Bool  Deterministic 
Is a non-empty list of constructors complete, i.e., does it contain all the constructors of a type? The first argument contains all the constructors in a program.
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?

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  Non-deterministic 

Returns the modification time of a module.

transformChoiceInProg :: Prog -> Prog  Deterministic 

Replace all occurrences of Prelude.? in a FlatCurry program by Or expressions.

patternArgs :: Pattern -> [Int]  Deterministic 

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 

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

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

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

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

Transform name into Prelude-qualified name.

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

getSiblingsOf :: [[((String,String),Int)]] -> (String,String) -> Maybe [((String,String),Int)]  Deterministic 

Gets the siblings of a constructor w.r.t. all constructors grouped by types.

arityOfCons :: [[((String,String),Int)]] -> (String,String) -> Int  Deterministic 

Gets the siblings of a constructor w.r.t. all constructors grouped by types.

isCompleteConstructorList :: [[((String,String),Int)]] -> [(String,String)] -> Bool  Deterministic 

Is a non-empty list of constructors complete, i.e., does it contain all the constructors of a type? The first argument contains all the constructors in a program.

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?