[commit: ghc] : Fill out sc' definition: history still not propagated (63c0944)

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/63c094482a6e66529d8a21f75f8c1e2803a26573

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

commit 63c094482a6e66529d8a21f75f8c1e2803a26573
Author: Max Bolingbroke <[email protected]>
Date:   Wed Oct 26 15:05:33 2011 +0100

    Fill out sc' definition: history still not propagated

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

 .../supercompile/Supercompile/Drive/Process2.hs    |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/compiler/supercompile/Supercompile/Drive/Process2.hs b/compiler/supercompile/Supercompile/Drive/Process2.hs
index a023dd1..70c6014 100644
--- a/compiler/supercompile/Supercompile/Drive/Process2.hs
+++ b/compiler/supercompile/Supercompile/Drive/Process2.hs
@@ -216,6 +216,9 @@ promise state ms = (p, ms)
             hNames   = h_names'
           }
 
+instance MonadStatics (DelayM (MemoT HistoryM)) where
+    -- FIXME
+
 memo :: (State -> HistoryM (ScpM (Deeds, Out FVedTerm)))
      -> State -> MemoT HistoryM (ScpM (Deeds, Out FVedTerm))
 memo opt state = MT $ \ms ->
@@ -238,7 +241,9 @@ memo opt state = MT $ \ms ->
 type RollbackScpM = () -- Generaliser -> ScpBM (Deeds, Out FVedTerm)
 
 sc' :: State -> HistoryM (ScpM (Deeds, Out FVedTerm))
-sc' state = error "FIXME"
+sc' state = \hist -> case terminate hist (state, ()) of
+                       Continue hist'             -> split (snd $ reduce state) (delay . sc) -- FIXME: use hist'
+                       Stop (shallower_state, ()) -> maybe (split state) id (generalise (mK_GENERALISER shallower_state state) state) (delay . sc)
 
 sc :: State -> MemoT HistoryM (ScpM (Deeds, Out FVedTerm))
 sc = memo sc' . gc -- Garbage collection necessary because normalisation might have made some stuff dead
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.