Translator for Curry programs to implement default rules and deterministic functions.
Author: Michael Hanus
Version: May 2016
banner
:: String
|
defaultTransScheme
:: TransScheme
|
transDefaultRules
:: Int -> [String] -> String -> CurryProg -> IO (Maybe CurryProg)
|
filterProofObligation
:: Int -> [String] -> [(String,String)] -> IO [(String,String)]
|
printProofObligation
:: [(String,String)] -> IO ()
|
showQName
:: (String,String) -> String
|
translateProg
:: TransScheme -> CurryProg -> IO (Maybe ([(String,String)],CurryProg))
|
isDetFun
:: CFuncDecl -> Bool
|
transDetFun
:: [(String,String)] -> CFuncDecl -> [CFuncDecl]
|
removeDetResultType
:: CTypeExpr -> CTypeExpr
|
func2rule
:: CFuncDecl -> ((String,String),(Int,CRule))
|
transFDecl
:: TransScheme -> [((String,String),(Int,CRule))] -> CFuncDecl -> [CFuncDecl]
|
transFDecl2ApplyCond
:: (String,String) -> CFuncDecl -> CFuncDecl
|
adjustResultTypeToUnit
:: CTypeExpr -> CTypeExpr
|
transFDecl2FunRHS
:: (String,String) -> CFuncDecl -> CFuncDecl
|
adjustResultTypeToFunRHS
:: CTypeExpr -> CTypeExpr
|
transDefaultRule
:: (String,String) -> Int -> CRule -> CRule
|
preUnit
:: CExpr
|
preUntyped
:: CTypeExpr
|
setFunMod
:: String
|
extractSingles
:: [a] -> [a]
Extracts all elements with a single occurrence in a given list. |
anonymPat
:: [(Int,String)] -> CPattern -> CPattern
Replaces all variables occurring in the first argument by anonymous variables in a pattern. |
Constructors:
SpecScheme
:: TransScheme
NoDupScheme
:: TransScheme
|
|
|
|
|
|
|
|
|
|
|
|
|
Extracts all elements with a single occurrence in a given list. |