Add LambdaBody to CoreContext.
authorMatthijs Kooijman <matthijs@stdin.nl>
Wed, 31 Mar 2010 10:38:27 +0000 (12:38 +0200)
committerMatthijs Kooijman <matthijs@stdin.nl>
Wed, 31 Mar 2010 10:38:27 +0000 (12:38 +0200)
cλash/CLasH/Normalize/NormalizeTools.hs
cλash/CLasH/Normalize/NormalizeTypes.hs

index 09ae3f579485c946f311e020ccb55b514a5641ad..0402d9327c9463055ec7ff8bdd8c8dbcadcfe008 100644 (file)
@@ -77,7 +77,7 @@ subeverywhere trans c (Let (Rec binds) expr) = do
       return (b, e')
 
 subeverywhere trans c (Lam x expr) = do
-  expr' <- trans (Other:c) expr
+  expr' <- trans (LambdaBody:c) expr
   return $ Lam x expr'
 
 subeverywhere trans c (Case scrut b t alts) = do
index e412e96a791635ed33d747e8e7333adffe175b50..80d39ac19ce10dbfccb75af33057a49e24f0c9a1 100644 (file)
@@ -26,7 +26,8 @@ data CoreContext = AppFirst        -- ^ The expression is the first
                                    --   expression.
                  | LetBody         -- ^ The expression is the body of a
                                    --   let expression
+                 | LambdaBody      -- ^ The expression is the body of a
+                                   --   lambda abstraction
                  | Other           -- ^ Another context
-
 -- | Transforms a CoreExpr and keeps track if it has changed.
 type Transform = [CoreContext] -> CoreSyn.CoreExpr -> TransformMonad CoreSyn.CoreExpr