Module with operations to simplify patterns (like functional patterns, as patterns, lazy patterns).
Author: Lasse Folger (with changes by Michael Hanus)
Version: September 2015
newprog
:: CurryProg -> CurryProg
|
replaceFuncPattern
:: [CFuncDecl] -> [CFuncDecl]
|
transRule
:: CRule -> CRule
|
notnull
:: [a] -> Bool
|
transPattern
:: [(Int,String)] -> CPattern -> ([(Int,String)],(CPattern,[((Int,String),CPattern)]))
|
mkGuardL
:: [(CExpr,CExpr)] -> CExpr -> [(CExpr,CExpr)]
|
simplifyrep
:: [[((Int,String),CPattern)]] -> [((Int,String),CPattern)]
|
pToExp
:: [((Int,String),CPattern)] -> (CExpr,[CLocalDecl])
|
findAs
:: CPattern -> [((Int,String),CPattern)]
|
translate
:: CPattern -> CExpr
|
|
|
|
|
|