Repository : ssh://darcs.haskell.org//srv/darcs/ghc

On branch  : 

http://hackage.haskell.org/trac/ghc/changeset/80a02e5d68affe1e5b090761225b9be597bc3c99

>---------------------------------------------------------------

commit 80a02e5d68affe1e5b090761225b9be597bc3c99
Author: Max Bolingbroke <batterseapo...@hotmail.com>
Date:   Wed Jul 27 15:40:58 2011 +0100

    Fix scrutination of cast data with Simon's new dealWithCoercion function

>---------------------------------------------------------------

 .../Supercompile/Evaluator/Evaluate.hs             |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/compiler/supercompile/Supercompile/Evaluator/Evaluate.hs 
b/compiler/supercompile/Supercompile/Evaluator/Evaluate.hs
index ccd8d86..ed88d68 100644
--- a/compiler/supercompile/Supercompile/Evaluator/Evaluate.hs
+++ b/compiler/supercompile/Supercompile/Evaluator/Evaluate.hs
@@ -226,9 +226,9 @@ step' normalising state =
                                         
                                             -- Make the "theta" from Fig 3 of 
the paper
                                             gammas = decomposeCo tc_arity co'
-                                            theta  = zipOpenCvSubst 
(dc_univ_tyvars ++ dc_ex_tyvars)
-                                                                    (gammas    
     ++ map mkReflCo tys)
-                                        in map (\arg_ty -> (liftCoSubst theta 
arg_ty, tg_co)) arg_tys -- Use tag from the original coercion everywhere
+                                            theta_subst = liftCoSubstWith 
(dc_univ_tyvars ++ dc_ex_tyvars)
+                                                                          
(gammas         ++ map mkReflCo tys)
+                                        in map (\arg_ty -> (theta_subst 
arg_ty, tg_co)) arg_tys -- Use tag from the original coercion everywhere
            -- b) Identify the first appropriate branch of the case and reduce 
-- apply the discovered coercions if necessary
           , (deeds3, h', ids', alt_e):_ <- [ res
                                            | ((DataAlt alt_dc alt_as alt_xs, 
alt_e), rest) <- bagContexts alts



_______________________________________________
Cvs-ghc mailing list
Cvs-ghc@haskell.org
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to