Wed Oct 4 06:51:55 PDT 2006 [EMAIL PROTECTED]
* Improve liberate-case to take account of coercions
Note [Scrutinee with cast]
~~~~~~~~~~~~~~~~~~~~~~~~~~
Consider this:
f = \ t -> case (v `cast` co) of
V a b -> a : f t
Exactly the same optimistaion (unrolling one call to f) will work here,
despite the cast. See mk_alt_env in the Case branch of libCase.
This patch does the job. For a change, it was really easy.
M ./compiler/simplCore/LiberateCase.lhs -4 +13
_______________________________________________
Cvs-ghc mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/cvs-ghc