Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch :
http://hackage.haskell.org/trac/ghc/changeset/8402d155db039b701814785c4466fdfbe5306e91 >--------------------------------------------------------------- commit 8402d155db039b701814785c4466fdfbe5306e91 Author: Max Bolingbroke <batterseapo...@hotmail.com> Date: Thu Mar 1 11:12:00 2012 +0000 The to_binds when not preinitalizing are of mixed liftedness >--------------------------------------------------------------- .../supercompile/Supercompile/Drive/Process1.hs | 2 +- .../supercompile/Supercompile/Drive/Process2.hs | 2 +- .../supercompile/Supercompile/Drive/Process3.hs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/compiler/supercompile/Supercompile/Drive/Process1.hs b/compiler/supercompile/Supercompile/Drive/Process1.hs index 23619ce..a0e0bcd 100644 --- a/compiler/supercompile/Supercompile/Drive/Process1.hs +++ b/compiler/supercompile/Supercompile/Drive/Process1.hs @@ -54,7 +54,7 @@ ifThenElse False _ y = y supercompile :: M.Map Var Term -> Term -> IO (SCStats, Term) -supercompile unfoldings e = liftM (second (fVedTermToTerm . letRec to_bind)) $ runScpM $ fmap snd $ sc (mkLinearHistory (cofmap fst wQO)) S.empty state +supercompile unfoldings e = liftM (second (fVedTermToTerm . bindManyMixedLiftedness fvedTermFreeVars to_bind)) $ runScpM $ fmap snd $ sc (mkLinearHistory (cofmap fst wQO)) S.empty state where (_, (to_bind, state), _) = prepareTerm unfoldings e -- diff --git a/compiler/supercompile/Supercompile/Drive/Process2.hs b/compiler/supercompile/Supercompile/Drive/Process2.hs index a1461f5..555c72d 100644 --- a/compiler/supercompile/Supercompile/Drive/Process2.hs +++ b/compiler/supercompile/Supercompile/Drive/Process2.hs @@ -329,5 +329,5 @@ foo :: LevelM (Out FVedTerm) -> ScpM (FulfilmentT Identity (Out FVedTerm)) foo = undefined supercompile :: M.Map Var Term -> Term -> Term -supercompile unfoldings e = fVedTermToTerm $ letRec to_bind $ unI $ runFulfilmentT $ runHistoryThreadM $ runMemoT $ runContT $ runScpM $ liftM (foo . fmap snd) $ sc 0 state +supercompile unfoldings e = fVedTermToTerm $ bindManyMixedLiftedness fvedTermFreeVars to_bind $ unI $ runFulfilmentT $ runHistoryThreadM $ runMemoT $ runContT $ runScpM $ liftM (foo . fmap snd) $ sc 0 state where (_, (to_bind, state), _) = prepareTerm unfoldings e diff --git a/compiler/supercompile/Supercompile/Drive/Process3.hs b/compiler/supercompile/Supercompile/Drive/Process3.hs index c050f5c..3d85926 100644 --- a/compiler/supercompile/Supercompile/Drive/Process3.hs +++ b/compiler/supercompile/Supercompile/Drive/Process3.hs @@ -457,7 +457,7 @@ supercompile :: M.Map Var Term -> Term -> Term supercompile unfoldings e = fVedTermToTerm $ runScpM (tagAnnotations state) $ start (liftM snd . sc) where (bvs_unfoldings, (to_bind, state), (preinit_with, preinit_state)) = prepareTerm unfoldings e start k | pREINITALIZE_MEMO_TABLE = preinitalise preinit_with >> withScpEnv (\e -> e { scpAlreadySpeculated = bvs_unfoldings `S.union` scpAlreadySpeculated e }) (k preinit_state) - | otherwise = liftM (letRec to_bind) $ k state + | otherwise = liftM (bindManyMixedLiftedness fvedTermFreeVars to_bind) $ k state preinitalise :: [(State, FVedTerm)] -> ScpM () preinitalise states_fulfils = forM_ states_fulfils $ \(state, e') -> do _______________________________________________ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc