projects
/
matthijs
/
master-project
/
cλash.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Log the time needed for compilation.
[matthijs/master-project/cλash.git]
/
cλash
/
CLasH
/
Normalize
/
NormalizeTypes.hs
diff --git
a/cλash/CLasH/Normalize/NormalizeTypes.hs
b/cλash/CLasH/Normalize/NormalizeTypes.hs
index 90592526f507b63353e0d4bad2cf6c3ee20fa8fa..966e18e93a5ec6ef21574827d6a2a783f8956e88 100644
(file)
--- a/
cλash/CLasH/Normalize/NormalizeTypes.hs
+++ b/
cλash/CLasH/Normalize/NormalizeTypes.hs
@@
-21,7
+21,14
@@
data CoreContext = AppFirst -- ^ The expression is the first
| AppSecond -- ^ The expression is the second
-- argument of an application
-- (i.e., something is applied to it)
| AppSecond -- ^ The expression is the second
-- argument of an application
-- (i.e., something is applied to it)
+ | LetBinding -- ^ The expression is bound in a
+ -- (recursive or non-recursive) let
+ -- expression.
+ | LetBody -- ^ The expression is the body of a
+ -- let expression
+ | LambdaBody -- ^ The expression is the body of a
+ -- lambda abstraction
| Other -- ^ Another context
| Other -- ^ Another context
-
+ deriving Eq
-- | Transforms a CoreExpr and keeps track if it has changed.
type Transform = [CoreContext] -> CoreSyn.CoreExpr -> TransformMonad CoreSyn.CoreExpr
-- | Transforms a CoreExpr and keeps track if it has changed.
type Transform = [CoreContext] -> CoreSyn.CoreExpr -> TransformMonad CoreSyn.CoreExpr