Repository : ssh://darcs.haskell.org//srv/darcs/ghc

On branch  : supercompiler

http://hackage.haskell.org/trac/ghc/changeset/596159a3fdf211b15a0bb1e3c0beb1458c01e191

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

commit 596159a3fdf211b15a0bb1e3c0beb1458c01e191
Author: Max Bolingbroke <batterseapo...@hotmail.com>
Date:   Mon Apr 23 17:00:58 2012 +0100

    Comment only

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

 compiler/supercompile/Supercompile/Core/Syntax.hs |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/compiler/supercompile/Supercompile/Core/Syntax.hs 
b/compiler/supercompile/Supercompile/Core/Syntax.hs
index 0cdeb19..ccb21be 100644
--- a/compiler/supercompile/Supercompile/Core/Syntax.hs
+++ b/compiler/supercompile/Supercompile/Core/Syntax.hs
@@ -128,7 +128,7 @@ data TermF ann = Var Id
                | TyApp (ann (TermF ann)) Type
                | CoApp (ann (TermF ann)) Coercion
                | App (ann (TermF ann)) Id
-               | PrimOp PrimOp [Type] [ann (TermF ann)]     -- FIXME: arguably 
we have just Vars as arguments for better Tag behaviour (otherwise improving 
the arguments is hidden by the Tag on the whole PrimOp stack frames). FIXME: in 
fact, we need to change this because *NOT ALL PRIMOP ARGUMENTS ARE STRICT* 
(e.g. the lazy polymorphic arguments to newMutVar#, newArray#)
+               | PrimOp PrimOp [Type] [ann (TermF ann)]     -- FIXME: arguably 
we have just Vars as arguments for better Tag behaviour (otherwise improving 
the arguments is hidden by the Tag on the whole PrimOp stack frames). FIXME: in 
fact, we need to change this because *NOT ALL PRIMOP ARGUMENTS ARE STRICT* 
(e.g. the lazy polymorphic arguments to newMutVar#, newArray#). FIXME: the 
reason I haven't done this is because it means I should remove the PrimApply 
frame, which breaks the "question or answer" evaluator normalisation property.
                | Case (ann (TermF ann)) Id Type [AltF ann]  -- NB: unlike GHC, 
for convenience we allow the list of alternatives to be empty
                | Let Id (ann (TermF ann)) (ann (TermF ann)) -- NB: might bind 
an unlifted thing, in which case evaluation changes. Unlike GHC, we do NOT 
assume the RHSes of unlifted bindings are ok-for-speculation.
                | LetRec [(Id, ann (TermF ann))] (ann (TermF ann))



_______________________________________________
Cvs-ghc mailing list
Cvs-ghc@haskell.org
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to