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

On branch  : supercompiler

http://hackage.haskell.org/trac/ghc/changeset/02ca04fae98dc5552bf3a46120b09f78e1c38251

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

commit 02ca04fae98dc5552bf3a46120b09f78e1c38251
Author: Max Bolingbroke <batterseapo...@hotmail.com>
Date:   Tue Jan 3 15:33:42 2012 +0000

    Was removing too many FVs from the shell

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

 compiler/supercompile/Supercompile/Drive/Split.hs |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/compiler/supercompile/Supercompile/Drive/Split.hs 
b/compiler/supercompile/Supercompile/Drive/Split.hs
index f1e3bad..b8f494d 100644
--- a/compiler/supercompile/Supercompile/Drive/Split.hs
+++ b/compiler/supercompile/Supercompile/Drive/Split.hs
@@ -418,7 +418,7 @@ oneBracketed ctxt_ids ty (ent, (Heap h ids, k, in_e))
                               _                       -> Nothing
   , Just anned_a <- termToAnswer ids in_e
   = fmap (\(ent', (deeds, Heap h' ids', k', in_e')) -> (if isOnce ent then 
ent' else Many, (deeds, Heap (h `M.union` h') ids', k', in_e'))) $ -- Push heap 
of positive information/new lambda-bounds down + fix hole Entereds
-    modifyShell (\shell -> shell { shellExtraFvs = shellExtraFvs shell 
`minusVarSet` dataSetToVarSet (M.keysSet h) }) $                       -- Take 
advantage of the fact that this heap is "optional" to fix bracket FVs
+    modifyShell (\shell -> shell { shellExtraFvs = shellExtraFvs shell 
`minusVarSet` fst (pureHeapVars h) LambdaBound }) $                    -- Fix 
bracket FVs by removing anything lambda-bound above
     splitAnswer ctxt_ids ids (annedToTagged (fmap (\a -> castAnswer ids a 
cast_by) anned_a))
   | otherwise
   = oneBracketed' ty (ent, (emptyDeeds, Heap h ids, k, in_e))



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

Reply via email to