[commit: ghc] supercompiler: Add a FIXME about the effects on termination of instance-MSGing (8229fa6)

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/8229fa6d6c53704fab96731de78a035585d35425

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

commit 8229fa6d6c53704fab96731de78a035585d35425
Author: Max Bolingbroke <[email protected]>
Date:   Wed Apr 25 18:12:28 2012 +0100

    Add a FIXME about the effects on termination of instance-MSGing

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

 compiler/supercompile/Supercompile/Drive/MSG.hs |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/compiler/supercompile/Supercompile/Drive/MSG.hs b/compiler/supercompile/Supercompile/Drive/MSG.hs
index 167fc7b..90ecaf8 100644
--- a/compiler/supercompile/Supercompile/Drive/MSG.hs
+++ b/compiler/supercompile/Supercompile/Drive/MSG.hs
@@ -940,6 +940,12 @@ msgPureHeap mm rn2 msg_e msg_s (Heap init_h_l init_ids_l) (Heap init_h_r init_id
       --  ...
       --
       -- FIXME: I don't have a good solution at the moment. For now, I've patched it so we don't use these branches.
+      -- FIXME: carefully document the basis (if any) by which I believe it is OK to MSG stuff out like this
+      --        Naively it seems rather dangerous. Consider:
+      --        1. Supercompile (let f = \x. x in f)
+      --        2. Split to (\x. x)
+      --        3. MSG against the simple variable b (with the same tag, presumably)
+      --        4. Instance-split will drive (\x. x) as the next term, so we might tieback to get a loop :(
       {-
       | Just (x_l, e_r) <- varTermPair e_l e_r
       , let (ids_r', x_r) = uniqAway' ids_r x_common
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.