|
This is the implementation of the currycheck tool. It performs various checks on Curry programs:
Author: Michael Hanus, Jan-Patrick Baye
Version: June 2021
ccBanner
:: String
|
usageText
:: String
|
maxArity
:: Int
Maximal arity of check functions and tuples currently supported: |
defTypeSuffix
:: String
|
postCondSuffix
:: String
|
satSpecSuffix
:: String
|
isDetSuffix
:: String
|
isIOTest
:: Test -> Bool
|
isUnitTest
:: Test -> Bool
|
isPropTest
:: Test -> Bool
|
isEquivTest
:: Test -> Bool
|
equivTestOps
:: Test -> [(String,String)]
|
testName
:: Test -> (String,String)
|
testLine
:: Test -> Int
|
genTestMsg
:: String -> Test -> String
|
showModuleLine
:: String -> Int -> String
|
genTestName
:: Test -> String
|
staticErrorTestMod
:: String -> [String] -> TestModule
|
testThisModule
:: TestModule -> Bool
|
userTestDataOfModule
:: TestModule -> [((String,String),Bool)]
|
equivPropTypes
:: TestModule -> [(String,String)]
|
genTestFuncs
:: Options -> ((String,String) -> Bool) -> ((String,String) -> Productivity) -> String -> TestModule -> IO [CFuncDecl]
|
easyCheckConfig
:: Options -> (String,String)
|
type2genop
:: String -> TestModule -> Bool -> CTypeExpr -> CExpr
|
isFloatType
:: CTypeExpr -> Bool
|
typename2genopname
:: String -> [(String,String)] -> (String,String) -> (String,String)
|
transQN
:: String -> String
|
transFuncArgsInProp
:: String -> [CTypeExpr] -> CExpr -> CExpr
|
makeAllPublic
:: CurryProg -> CurryProg
|
classifyTest
:: Options -> CurryProg -> CFuncDecl -> Test
|
transformTests
:: Options -> [String] -> [CFuncDecl] -> CurryProg -> IO ([CFuncDecl],[CFuncDecl],[(String,String)],CurryProg)
|
transformDetTests
:: Options -> [String] -> CurryProg -> ([CFuncDecl],[CFuncDecl],CurryProg)
|
preCondOperations
:: [CFuncDecl] -> [(String,String)]
|
funDeclsWith
:: (String -> Bool) -> [CFuncDecl] -> [CFuncDecl]
|
propResultType
:: CTypeExpr -> CTypeExpr
|
genPostCondTest
:: [(String,String)] -> [(String,String)] -> [String] -> CFuncDecl -> [CFuncDecl]
|
genSpecTest
:: Options -> [(String,String)] -> [(String,String)] -> [String] -> CFuncDecl -> [CFuncDecl]
|
genSpecGroundEquivTest
:: [(String,String)] -> (String,String) -> CContext -> CTypeExpr -> CFuncDecl
|
addPreCond
:: [(String,String)] -> [(String,String)] -> [(Int,String)] -> CExpr -> CExpr
|
revertDetOpTrans
:: [(String,String)] -> CFuncDecl -> CFuncDecl
|
genDetOpTests
:: [String] -> [(String,String)] -> [CFuncDecl] -> [CFuncDecl]
|
genDetProp
:: [(String,String)] -> CFuncDecl -> CFuncDecl
|
poly2default
:: Options -> CFuncDecl -> [(Bool,CFuncDecl)]
|
poly2defaultType
:: Options -> CTypeExpr -> CTypeExpr
|
defaultQualType
:: CQualTypeExpr -> CQualTypeExpr
|
addShowContext
:: CContext -> CContext
|
addEqShowContext
:: (Int,String) -> CContext -> CContext
|
orgTestName
:: (String,String) -> (String,String)
|
orgQName
:: (String,String) -> (String,String)
|
analyseModule
:: Options -> String -> IO [TestModule]
|
staticProgAnalysis
:: Options -> String -> String -> CurryProg -> IO ([String],[((String,String),String)])
|
analyseCurryProg
:: Options -> String -> CurryProg -> IO [TestModule]
|
generatorsOfProg
:: CurryProg -> [(String,String)]
|
genBottomType
:: String -> TypeDecl -> CTypeDecl
|
isPrimExtType
:: (String,String) -> Bool
|
defaultValueOfBasicExtType
:: String -> CLiteral
|
ctype2BotType
:: String -> Bool -> CTypeExpr -> CTypeExpr
|
t2bt
:: String -> String
|
genPeval
:: String -> TypeDecl -> CFuncDecl
|
genPValOf
:: String -> TypeDecl -> CFuncDecl
|
ftype2pvalOf
:: String -> String -> [(Int,String)] -> TypeExpr -> CExpr
|
ctype2typeop
:: String -> String -> CTypeExpr -> CExpr
|
genShowP
:: String -> TypeDecl -> CInstanceDecl
|
genFromP
:: String -> TypeDecl -> CFuncDecl
|
ftype2fromP
:: String -> String -> [(Int,String)] -> TypeExpr -> CExpr
|
ctypedecl2ftypedecl
:: CTypeDecl -> TypeDecl
|
genMainTestModule
:: Options -> String -> [TestModule] -> IO [Test]
|
genMainFunction
:: Options -> String -> [CFuncDecl] -> CFuncDecl
|
removeNonExecTests
:: Options -> ((String,String) -> [String]) -> [TestModule] -> ([TestModule],[(String,String)])
|
collectAllTestTypeDecls
:: Options -> [Prog] -> [(TypeDecl,Bool)] -> [((String,String),Bool)] -> IO ([Prog],[(TypeDecl,Bool)])
|
genTestDataGenerator
:: String -> TypeDecl -> CFuncDecl
|
genPartialPrimDataGenerator
:: String -> (String,String) -> CFuncDecl
|
cleanup
:: Options -> String -> [TestModule] -> IO ()
|
printTestStatistics
:: Options -> [String] -> String -> Int -> [Test] -> IO ()
|
main
:: IO ()
|
checkModules
:: Options -> [String] -> IO ()
|
showGeneratedModule
:: Options -> String -> String -> IO ()
|
renameProp2EasyCheck
:: CurryProg -> CurryProg
|
firstWord
:: String -> String
|
stripSuffix
:: String -> String -> String
|
modNameToId
:: String -> String
|
arityOfType
:: CTypeExpr -> Int
|
searchTreeModule
:: String
Name of the SearchTree module. |
searchTreeTC
:: (String,String)
Name of SearchTree type constructor. |
generatorModule
:: String
Name of the SearchTreeGenerator module. |
choiceGen
:: (String,String)
|
writeCurryProgram
:: Options -> String -> CurryProg -> String -> IO ()
|
isPAKCS
:: Bool
|
containsPPOptionLine
:: String -> Bool
|
tconsOf
:: CTypeExpr -> [(String,String)]
|
unionOn
:: Eq a => (b -> [a]) -> [b] -> [a]
|
showCTypeExpr
:: CTypeExpr -> String
|
showCExpr
:: CExpr -> String
|
cLambda
:: [CPattern] -> CExpr -> CExpr
|
Constructors:
PropTest
:: QName -> CTypeExpr -> Int -> Test
IOTest
:: QName -> Int -> Test
EquivTest
:: QName -> QName -> QName -> CTypeExpr -> Int -> Test
Constructors:
|
|
Maximal arity of check functions and tuples currently supported:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Name of the SearchTree module.
|
Name of SearchTree type constructor.
|
Name of the SearchTreeGenerator module.
|
|
|
|
|
|
|