|
This is the implementation of the currycheck tool. It performs various checks on Curry programs:
Author: Michael Hanus, Jan-Patrick Baye
Version: December 2017
maxArity
:: Int
Maximal arity of check functions and tuples currently supported: |
ccBanner
:: String
|
usageText
:: String
|
defaultOptions
:: Options
|
options
:: [OptDescr (Options -> Options)]
|
processOpts
:: Options -> IO Options
Further option processing, e.g., setting coloring mode. |
isQuiet
:: Options -> Bool
|
putStrIfNormal
:: Options -> String -> IO ()
Print second argument if verbosity level is not quiet: |
putStrIfVerbose
:: Options -> String -> IO ()
Print second argument if verbosity level > 1: |
putStrLnIfDebug
:: Options -> String -> IO ()
Print second argument if verbosity level > 3: |
withColor
:: Options -> (String -> String) -> String -> String
use some coloring (from library AnsiCodes) if color option is on: |
defTypeSuffix
:: String
|
postCondSuffix
:: String
|
satSpecSuffix
:: String
|
isDetSuffix
:: String
|
isIOTest
:: Test -> Bool
|
isUnitTest
:: Test -> Bool
|
isPropTest
:: Test -> Bool
|
isEquivTest
:: Test -> Bool
|
getTestName
:: Test -> (String,String)
|
getTestLine
:: Test -> Int
|
genTestMsg
:: String -> Test -> String
|
staticErrorTestMod
:: String -> [String] -> TestModule
|
testThisModule
:: TestModule -> Bool
|
userTestDataOfModule
:: TestModule -> [((String,String),Bool)]
|
equivPropTypes
:: TestModule -> [(String,String)]
|
createTests
:: Options -> String -> TestModule -> [CFuncDecl]
|
easyCheckConfig
:: Options -> (String,String)
|
type2genop
:: String -> TestModule -> Bool -> CTypeExpr -> CExpr
|
isFloatType
:: CTypeExpr -> Bool
|
typename2genopname
:: String -> [(String,String)] -> Bool -> (String,String) -> (String,String)
|
transQN
:: String -> String
|
makeAllPublic
:: CurryProg -> CurryProg
|
classifyTests
:: Options -> CurryProg -> [CFuncDecl] -> [Test]
|
transformTests
:: Options -> String -> CurryProg -> IO ([CFuncDecl],[CFuncDecl],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)] -> CFuncDecl -> [CFuncDecl]
|
genSpecTest
:: [(String,String)] -> [(String,String)] -> CFuncDecl -> [CFuncDecl]
|
revertDetOpTrans
:: [(String,String)] -> CFuncDecl -> CFuncDecl
|
genDetOpTests
:: [String] -> [(String,String)] -> [CFuncDecl] -> [CFuncDecl]
|
genDetProp
:: [(String,String)] -> CFuncDecl -> CFuncDecl
|
poly2default
:: String -> CFuncDecl -> [(Bool,CFuncDecl)]
|
poly2defaultType
:: String -> CTypeExpr -> CTypeExpr
|
orgTestName
:: (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
|
isBasicExtType
:: (String,String) -> Bool
|
defaultValueOfBasicExtType
:: String -> CLiteral
|
ctype2BotType
:: String -> CTypeExpr -> CTypeExpr
|
t2bt
:: String -> String
|
genPeval
:: String -> TypeDecl -> CFuncDecl
|
genPValOf
:: String -> TypeDecl -> CFuncDecl
|
ftype2pvalOf
:: String -> String -> [(Int,String)] -> TypeExpr -> CExpr
|
ctype2pvalOf
:: String -> String -> CTypeExpr -> CExpr
|
ctypedecl2ftypedecl
:: CTypeDecl -> TypeDecl
|
genMainTestModule
:: Options -> String -> [TestModule] -> IO ()
|
genMainFunction
:: Options -> String -> [Test] -> CFuncDecl
|
collectAllTestTypeDecls
:: [(TypeDecl,Bool)] -> [((String,String),Bool)] -> IO [(TypeDecl,Bool)]
|
createTestDataGenerator
:: String -> (TypeDecl,Bool) -> CFuncDecl
|
cleanup
:: Options -> String -> [TestModule] -> IO ()
|
showTestStatistics
:: [TestModule] -> String
|
main
:: 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
:: (a -> [b]) -> [a] -> [b]
|
Constructors:
Options
:: Bool -> Int -> Bool -> Int -> Int -> String -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> String -> Options
Fields:
optHelp
:: Bool
optVerb
:: Int
optKeep
:: Bool
optMaxTest
:: Int
optMaxFail
:: Int
optDefType
:: String
optSource
:: Bool
optProp
:: Bool
optSpec
:: Bool
optDet
:: Bool
optProof
:: Bool
optColor
:: Bool
optMainProg
:: String
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:
|
|
|
|
Further option processing, e.g., setting coloring mode. |
Print second argument if verbosity level is not quiet: |
Print second argument if verbosity level > 1: |
Print second argument if verbosity level > 3: |
use some coloring (from library AnsiCodes) if color option is on: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Name of the SearchTree module.
|
Name of SearchTree type constructor.
|
Name of the SearchTreeGenerator module.
|
|
|
|
|
|