[commit: ghc] : The to_binds when not preinitalizing are of mixed liftedness (8402d15)

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  : 

http://hackage.haskell.org/trac/ghc/changeset/8402d155db039b701814785c4466fdfbe5306e91

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

commit 8402d155db039b701814785c4466fdfbe5306e91
Author: Max Bolingbroke <[email protected]>
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
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.