printVersion
:: IO ()
|
pevalDebug
:: Bool
|
pevalAbs
:: Int
|
maxExpVars
:: Int
|
varBottom
:: Expr
|
isPevalAnnot
:: Expr -> Bool
|
getPevalAnnotExpr
:: Expr -> Expr
|
getExps
:: PEvalState -> [Expr]
|
getFuncDecls
:: PEvalState -> [FuncDecl]
|
getRenamingIndex
:: PEvalState -> Int
|
getDepth
:: PEvalState -> Int
|
updateRenamingIndex
:: PEvalState -> Int -> PEvalState
|
incrDepth
:: PEvalState -> PEvalState
|
decrDepth
:: PEvalState -> PEvalState
|
getArity
:: PEvalState -> String -> Int
|
getArityF
:: [FuncDecl] -> String -> Int
|
main
:: IO ()
|
mainProg
:: String -> IO ()
|
mainWithExprs
:: String -> [Expr] -> IO ()
|
main_aux
:: String -> [Expr] -> Expr -> Expr -> IO ()
|
resultant2fundecl
:: (Expr,Expr) -> FuncDecl
|
addPEFuncDecls
:: [(Expr,Expr)] -> Expr -> [FuncDecl] -> Expr
|
replaceFuncDecls
:: Expr -> [FuncDecl] -> Expr
|
getEvalExprs
:: Expr -> (Expr,[Expr])
|
getFuncEvalExprs
:: FuncDecl -> (FuncDecl,[Expr])
|
getEvalExprsInExp
:: Expr -> (Expr,[Expr])
|
getEvalExprsInExps
:: [Expr] -> ([Expr],[Expr])
|
getEvalExprsInBranches
:: [BranchExpr] -> ([BranchExpr],[Expr])
|
replacePevalAnnotInFunc
:: [FuncDecl] -> [(Expr,Expr)] -> FuncDecl -> FuncDecl
|
replacePevalAnnotInExp
:: [FuncDecl] -> [(Expr,Expr)] -> Expr -> Expr
|
originalFunc
:: Expr -> [(Expr,Expr)] -> Expr -> [String]
|
originalF
:: [FuncDecl] -> [(Expr,Expr)] -> Expr -> [String]
|
funcsInExp
:: Expr -> [String]
|
funcsInExpL
:: [Expr] -> [String]
|
postUnfolding
:: [(Expr,Expr)] -> [String] -> [(Expr,Expr)]
|
postUnfoldingAux
:: [(Expr,Expr)] -> [(Expr,Expr)] -> [(Expr,Expr)]
|
try_unfold
:: [(Expr,Expr)] -> Expr -> Expr
|
try_unfoldL
:: [(Expr,Expr)] -> [Expr] -> [Expr]
|
try_unf_cases
:: [(Expr,Expr)] -> BranchExpr -> BranchExpr
|
try_unfold_apply
:: [(Expr,Expr)] -> Expr -> Expr -> Expr
|
getArityP
:: [(Expr,Expr)] -> String -> Int
|
unfoldFC
:: [(Expr,Expr)] -> [(Expr,Expr)] -> Expr -> Expr
|
propCaseVars
:: Expr -> Expr
|
propCaseVarsBranch
:: BranchExpr -> BranchExpr
|
nonRecursive
:: [(Expr,Expr)] -> String -> Bool
|
countFuncs
:: Expr -> Int
|
countFuncsL
:: [Expr] -> Int
|
uselessFunc
:: [(Expr,Expr)] -> String -> Bool
|
countFuncCalls
:: [(Expr,Expr)] -> String -> Int
|
countFC
:: Expr -> String -> Int
|
countFCList
:: [Expr] -> String -> Int
|
removeRedundantRules
:: [(Expr,a)] -> [(Expr,Expr)] -> [String] -> [(Expr,a)]
|
funcRule
:: (Expr,a) -> String
|
removeFails
:: [(Expr,Expr)] -> [(Expr,Expr)]
|
removeFB
:: Expr -> Expr
|
removeFailedBranches
:: [BranchExpr] -> [BranchExpr]
|
removeFBbranch
:: BranchExpr -> BranchExpr
|
pevalProg
:: Expr -> [Expr] -> [Expr]
|
peval0
:: [FuncDecl] -> Int -> [Expr] -> [(Expr,Expr)] -> [Expr]
|
diffPairs
:: [Expr] -> [Expr] -> [Expr]
|
pevalL
:: [FuncDecl] -> Int -> [Expr] -> [(Expr,Expr)] -> [(Expr,Expr)]
|
pevalL_aux
:: [FuncDecl] -> Int -> [Expr] -> [(Expr,Expr)] -> [(Expr,Expr)]
|
strict
:: a -> a
|
searchPair
:: Expr -> [(Expr,Expr)] -> Expr
|
abstract
:: [FuncDecl] -> Int -> [Expr] -> [Expr] -> [Expr]
|
abs
:: [FuncDecl] -> Int -> Expr -> [Expr] -> [Expr]
|
absSQ
:: [FuncDecl] -> Expr -> [Expr] -> [Expr]
|
addPartCall
:: [FuncDecl] -> Int -> String -> [Expr] -> [Expr] -> [Expr]
|
addPC
:: [FuncDecl] -> String -> [Expr] -> Int -> [Expr] -> Int -> [Expr]
|
absFun
:: [FuncDecl] -> Int -> Expr -> [Expr] -> [Expr]
|
absFunWfo
:: [FuncDecl] -> Int -> Expr -> [Expr] -> [Expr]
|
headF
:: Expr -> String
|
splitCase
:: Expr -> [Expr]
|
absFunWqo
:: [FuncDecl] -> Int -> Expr -> [Expr] -> [Expr]
|
absFunWqoAux
:: [FuncDecl] -> Int -> [Expr] -> Expr -> [Expr]
|
legalBuiltin
:: String -> Bool
|
arithBuiltin
:: String -> Bool
|
nameConversion
:: String -> String
|
branches
:: [BranchExpr] -> [Expr]
|
constructorInstance
:: [FuncDecl] -> Expr -> [Expr] -> Bool
|
isConstructor
:: [FuncDecl] -> Subst -> Bool
|
isCons
:: [FuncDecl] -> Expr -> Bool
|
isConsCase
:: [FuncDecl] -> [BranchExpr] -> Bool
|
complete
:: [Expr] -> Int -> Int -> [Expr]
|
completeVars
:: Int -> Int -> [Expr]
|
size
:: Expr -> Int
|
sizeBranch
:: BranchExpr -> Int
|
smaller
:: Expr -> Expr -> Bool
|
embedsPre
:: Expr -> [Expr] -> (Expr,[Expr])
|
embedsP
:: Expr -> [Expr] -> [Expr] -> (Expr,[Expr])
|
embeds
:: Expr -> Expr -> Bool
|
embedsSameHead
:: Expr -> Expr -> Bool
|
embedsL
:: [Expr] -> [Expr] -> Bool
|
embedsCase
:: [BranchExpr] -> [BranchExpr] -> Bool
|
embedsArg
:: Expr -> Expr -> Bool
|
embedsArgL
:: [Expr] -> Expr -> Bool
|
embedsArgCase
:: [BranchExpr] -> Expr -> Bool
|
int2Expr
:: Int -> Expr
|
int2ExprAux
:: Int -> Expr
|
msgT
:: Expr -> Expr -> [Expr]
|
computeMsg
:: Expr -> Expr -> (Expr,Subst,Subst)
|
msg
:: Expr -> Expr -> Int -> (Expr,Int)
|
headExpr
:: Expr -> String
|
msgSameHead
:: Expr -> Expr -> Int -> (Expr,Int)
|
msgArgs
:: CombType -> String -> [Expr] -> [Expr] -> [Expr] -> Int -> (Expr,Int)
|
comparable
:: Expr -> [Expr] -> (Expr,[Expr])
|
comp
:: Expr -> [Expr] -> [Expr] -> (Expr,[Expr])
|
ren_rho
:: [FuncDecl] -> [(Expr,Expr)] -> Expr -> Expr
|
ren_rhoPartCall
:: [FuncDecl] -> [(Expr,Expr)] -> String -> [Expr] -> Expr
|
ren_case
:: [FuncDecl] -> [(Expr,Expr)] -> BranchExpr -> BranchExpr
|
ren_rhoSQ
:: [FuncDecl] -> [(Expr,Expr)] -> Expr -> Expr
|
ren_rhoFun
:: [FuncDecl] -> [(Expr,Expr)] -> Expr -> Expr
|
ren_rhoFunRec
:: [FuncDecl] -> [(Expr,Expr)] -> Expr -> Expr
|
ren_rhoRec
:: [FuncDecl] -> [(Expr,Expr)] -> Expr -> Expr
|
subVars
:: Subst -> [Int]
|
subTerms
:: Subst -> [Expr]
|
isVar
:: Expr -> Bool
|
isLit
:: Expr -> Bool
|
isCase
:: Expr -> Bool
|
isConstr
:: Expr -> Bool
|
build_ren
:: [Expr] -> Int -> [(Expr,Expr)]
|
nonLocalVarsInExp
:: Expr -> [Int]
|
varsNonLocal
:: BranchExpr -> [Int]
|
index2vars
:: [Int] -> [Expr]
|
vars2index
:: [Expr] -> [Int]
|
proceedUnfold
:: PEvalState -> a -> Bool
|
peval
:: PEvalState -> Int -> Expr -> Expr
|
peval_casefun
:: PEvalState -> Int -> CaseType -> String -> [Expr] -> [BranchExpr] -> Expr
|
peval_casefun_aux
:: PEvalState -> Int -> CaseType -> String -> [Expr] -> [BranchExpr] -> Expr
|
peval_casefun_builtin
:: PEvalState -> Int -> CaseType -> String -> [Expr] -> [BranchExpr] -> Expr
|
propBinding
:: Int -> [BranchExpr] -> [BranchExpr]
|
peval_fun
:: PEvalState -> Int -> String -> [Expr] -> Expr
|
peval_fun_aux
:: PEvalState -> Int -> String -> [Expr] -> Expr
|
matchRHS
:: PEvalState -> Int -> String -> [Expr] -> (PEvalState,Expr)
|
getMatchedRHS
:: PEvalState -> Int -> [FuncDecl] -> String -> [Expr] -> (PEvalState,Expr)
|
getMatchedRHS_aux
:: PEvalState -> Int -> Rule -> [Expr] -> (PEvalState,Expr)
|
substitute
:: [Int] -> [Expr] -> Expr -> Expr
|
substituteAll
:: [Int] -> [Expr] -> Int -> Expr -> Expr
|
substituteAllCase
:: [Int] -> [Expr] -> Int -> BranchExpr -> BranchExpr
|
try_eval
:: PEvalState -> Int -> Expr -> [Expr] -> [Int] -> Expr
|
try_eval2
:: PEvalState -> Int -> Expr -> [Expr] -> [Int] -> Expr
|
caseVarArg
:: [Expr] -> [Int] -> Int -> Bool
|
caseVar
:: Expr -> Bool
|
float_case
:: Expr -> [Expr] -> [Expr] -> [Int] -> Int -> Expr
|
float_caseAux
:: Expr -> [Expr] -> Expr -> [Expr] -> Expr
|
gen_case
:: Expr -> [Expr] -> [Expr] -> BranchExpr -> BranchExpr
|
try_eval_aux
:: PEvalState -> Int -> Expr -> [Expr] -> [Expr] -> Expr
|
try_eval_aux2
:: Expr -> [Expr] -> Expr
|
sharedVars
:: Expr -> Bool
|
sharedVarsAux
:: [[Int]] -> Bool
|
shVar
:: [Int] -> [Int] -> Bool
|
groundVars
:: Expr -> Bool
|
reducible
:: [Expr] -> Bool
|
condSQ
:: Expr -> Bool
|
sqRooted
:: Expr -> Bool
|
pevalCaseArg
:: PEvalState -> Int -> Expr -> CaseType -> [BranchExpr] -> Expr
|
isPartCall
:: Expr -> Bool
|
peval_apply
:: PEvalState -> Int -> Expr -> Expr -> Expr
|
peval_builtin
:: PEvalState -> Int -> String -> [Expr] -> Expr
|
peval_builtinEQ
:: PEvalState -> Int -> String -> [Expr] -> Expr
|
peval_builtinEQaux
:: PEvalState -> Int -> String -> [Expr] -> Expr
|
peval_builtinEQlit
:: String -> Expr -> Expr -> Expr
|
peval_builtinEQvar1
:: PEvalState -> Int -> String -> [Expr] -> Expr
|
peval_builtinEQvar2
:: PEvalState -> Int -> String -> [Expr] -> Expr
|
peval_builtinEQvarAux
:: PEvalState -> Int -> String -> Int -> Expr -> Expr
|
subs2branches
:: Expr -> String -> [BranchExpr]
|
dataExp
:: Expr -> Bool
|
isConsCall
:: Expr -> Bool
|
makeSeqCon
:: String -> [Expr] -> [Expr] -> Expr
|
peval_builtinITE
:: PEvalState -> Int -> [Expr] -> Expr
|
peval_builtinAND
:: PEvalState -> Int -> [Expr] -> Expr
|
peval_builtinCAND
:: PEvalState -> Int -> [Expr] -> Expr
|
peval_builtinARITH
:: PEvalState -> Int -> String -> [Expr] -> Expr
|
peval_builtinARITHaux
:: String -> [Expr] -> Expr
|
isLitInt
:: Expr -> Bool
|
peval_builtinMAP
:: PEvalState -> Int -> String -> [Expr] -> Expr
|
peval_builtinMAP_aux
:: PEvalState -> Int -> [Expr] -> Expr
|
peval_builtinFOLDL
:: PEvalState -> Int -> String -> [Expr] -> Expr
|
peval_builtinFOLDL_aux
:: PEvalState -> Int -> [Expr] -> Expr
|
peval_builtinFOLDR
:: PEvalState -> Int -> String -> [Expr] -> Expr
|
peval_builtinFOLDR_aux
:: PEvalState -> Int -> [Expr] -> Expr
|
peval_builtinFILTER
:: PEvalState -> Int -> String -> [Expr] -> Expr
|
peval_builtinFILTER_aux
:: PEvalState -> Int -> [Expr] -> Expr
|
peval_builtinITERATE
:: PEvalState -> Int -> String -> [Expr] -> Expr
|
peval_builtinITERATE_aux
:: PEvalState -> Int -> [Expr] -> Expr
|
isCaseVar
:: Expr -> Bool
|
isCaseCons
:: Expr -> Bool
|
definedFunc
:: PEvalState -> String -> Bool
|
definedFunc2
:: [FuncDecl] -> String -> Bool
|
hasName
:: String -> FuncDecl -> Bool
|
maxVarIndex
:: Expr -> Int
|
max
:: Int -> Int -> Int
|
maxList
:: [Int] -> Int
|
localVarsInExp
:: Expr -> [Int]
|
diffList
:: [Int] -> [Int] -> [Int]
|
varsInExp
:: Expr -> [Int]
|
varsInCase
:: BranchExpr -> [Int]
|
delArgs
:: [Int] -> [Int] -> [Int]
|
ppExpr
:: Int -> Expr -> String
|
ppVar
:: Int -> String
|
ppLit
:: Literal -> String
|
ppCase
:: Int -> BranchExpr -> String
|
blanks
:: Int -> String
|
ppFormatList
:: (a -> String) -> [a] -> String
|
ppList
:: (a -> String) -> [a] -> String
|
buildResultants
:: Expr -> [Expr] -> [(Expr,Expr)] -> [(Expr,Expr)]
|
ppResultants
:: [(Expr,Expr)] -> IO ()
|
ppRen
:: [(Expr,Expr)] -> IO ()
|
pprenLHS
:: Expr -> [(Expr,Expr)] -> Expr
|
pprintSub
:: Subst -> IO ()
|
pprint
:: String -> IO ()
|
ppFuncDecls
:: [FuncDecl] -> IO ()
|
ppRule
:: String -> Rule -> IO ()
|
deleteAll
:: Eq a => a -> [a] -> [a]
|
equalMR
:: [Expr] -> [Expr] -> Bool
|
existsRenSet
:: [Expr] -> [Expr] -> Bool
|
existsRen
:: [Expr] -> Expr -> Bool
|
instanceOf
:: Expr -> Expr -> Subst
|
instanceVar
:: Expr -> Expr -> Subst
|
instanceS
:: Expr -> Expr -> Subst
|
instanceL
:: [Expr] -> [Expr] -> Subst -> Subst
|
clash
:: Subst -> Subst -> Bool
|
clash_
:: [Int] -> [Expr] -> Subst -> Bool
|
findVal
:: Int -> [Int] -> [Expr] -> Expr
|
instanceCase
:: [BranchExpr] -> [BranchExpr] -> Subst -> Subst
|
instanceCaseL
:: [BranchExpr] -> [BranchExpr] -> Subst -> Subst
|
instanceCaseBranch
:: BranchExpr -> BranchExpr -> Subst
|
composeSubs
:: Subst -> Subst -> Subst
|
andL
:: [Bool] -> Bool
|
orL
:: [Bool] -> Bool
|
removeRenamings
:: [Expr] -> [Expr]
|
removeVarsLits
:: [Expr] -> [Expr]
|
search_instance
:: Expr -> [Expr] -> (Subst,Expr)
|
searchInstance
:: Expr -> [(Expr,Expr)] -> (Subst,Expr)
|
searchConstrInstance
:: [FuncDecl] -> Expr -> [(Expr,Expr)] -> (Subst,Expr)
|
concatBlank
:: [String] -> String
|
delSQ
:: Expr -> Expr
|
delSQcase
:: BranchExpr -> BranchExpr
|