diff options
| author | simonpj@microsoft.com <unknown> | 2008-12-05 10:19:32 +0000 |
|---|---|---|
| committer | simonpj@microsoft.com <unknown> | 2008-12-05 10:19:32 +0000 |
| commit | a2fe6073155b0d056a257d8f860baf9816c2381e (patch) | |
| tree | 765c996cf2a1e7322b1181f709e89c78ee09a1ef /compiler | |
| parent | 2d815d1f4a724875a6c724b5fd320967ee6219ba (diff) | |
| download | haskell-a2fe6073155b0d056a257d8f860baf9816c2381e.tar.gz | |
Make CoreToStg a little more robust to eta expansion
Diffstat (limited to 'compiler')
| -rw-r--r-- | compiler/stgSyn/CoreToStg.lhs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/compiler/stgSyn/CoreToStg.lhs b/compiler/stgSyn/CoreToStg.lhs index f7347ae83c..1c8d4b1dfb 100644 --- a/compiler/stgSyn/CoreToStg.lhs +++ b/compiler/stgSyn/CoreToStg.lhs @@ -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 |
