Make CoreToStg a little more robust to eta expansion
authorsimonpj@microsoft.com <unknown>
Fri, 5 Dec 2008 10:19:32 +0000 (10:19 +0000)
committersimonpj@microsoft.com <unknown>
Fri, 5 Dec 2008 10:19:32 +0000 (10:19 +0000)
compiler/stgSyn/CoreToStg.lhs

index f7347ae..1c8d4b1 100644 (file)
@@ -1082,9 +1082,16 @@ myCollectArgs expr
     go (Note (SCC _) _) _  = pprPanic "CoreToStg.myCollectArgs" (ppr expr)
     go (Cast e _)       as = go e as
     go (Note _ e)       as = go e as
+    go (Lam b e)        as
+       | isTyVar b         = go e as   -- Note [Collect args]
     go _                _  = pprPanic "CoreToStg.myCollectArgs" (ppr expr)
 \end{code}
 
+Note [Collect args]
+~~~~~~~~~~~~~~~~~~~
+This big-lambda case occurred following a rather obscure eta expansion.
+It all seems a bit yukky to me.
+     
 \begin{code}
 stgArity :: Id -> HowBound -> Arity
 stgArity _ (LetBound _ arity) = arity