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