[commit: ghc] supercompiler: Was removing too many FVs from the shell (02ca04f)

Max Bolingbroke <[email protected]>
Newsgroups gmane.comp.lang.haskell.cvs.ghc
Message-ID <[email protected]>
Repository : ssh://darcs.haskell.org//srv/darcs/ghc

On branch  : supercompiler

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

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

commit 02ca04fae98dc5552bf3a46120b09f78e1c38251
Author: Max Bolingbroke <[email protected]>
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))
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.