projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix an issue with lazyness in the closure viewer
[ghc-hetmet.git]
/
compiler
/
stranal
/
WorkWrap.lhs
diff --git
a/compiler/stranal/WorkWrap.lhs
b/compiler/stranal/WorkWrap.lhs
index
29702cf
..
456f2f0
100644
(file)
--- a/
compiler/stranal/WorkWrap.lhs
+++ b/
compiler/stranal/WorkWrap.lhs
@@
-153,6
+153,10
@@
wwExpr (Note note expr)
= wwExpr expr `thenUs` \ new_expr ->
returnUs (Note note new_expr)
= wwExpr expr `thenUs` \ new_expr ->
returnUs (Note note new_expr)
+wwExpr (Cast expr co)
+ = wwExpr expr `thenUs` \ new_expr ->
+ returnUs (Cast new_expr co)
+
wwExpr (Let bind expr)
= wwBind bind `thenUs` \ intermediate_bind ->
wwExpr expr `thenUs` \ new_expr ->
wwExpr (Let bind expr)
= wwBind bind `thenUs` \ intermediate_bind ->
wwExpr expr `thenUs` \ new_expr ->
@@
-313,7
+317,7
@@
splitThunk transforms like this:
Now simplifier will transform to
case x-rhs of
Now simplifier will transform to
case x-rhs of
- I# a -> let x* = I# b
+ I# a -> let x* = I# a
in body
which is what we want. Now suppose x-rhs is itself a case:
in body
which is what we want. Now suppose x-rhs is itself a case: