projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Make UniqFM non-strict again while we work out what we're doing.
[ghc-hetmet.git]
/
compiler
/
parser
/
Parser.y.pp
diff --git
a/compiler/parser/Parser.y.pp
b/compiler/parser/Parser.y.pp
index
06e55ff
..
32ab991
100644
(file)
--- a/
compiler/parser/Parser.y.pp
+++ b/
compiler/parser/Parser.y.pp
@@
-824,7
+824,7
@@
where_inst :: { Located (OrdList (LHsDecl RdrName)) } -- Reversed
decls :: { Located (OrdList (LHsDecl RdrName)) }
: decls ';' decl { let { this = unLoc $3;
rest = unLoc $1;
decls :: { Located (OrdList (LHsDecl RdrName)) }
: decls ';' decl { let { this = unLoc $3;
rest = unLoc $1;
- these = unLoc $1 `appOL` unLoc $3 }
+ these = rest `appOL` this }
in rest `seq` this `seq` these `seq`
LL these }
| decls ';' { LL (unLoc $1) }
in rest `seq` this `seq` these `seq`
LL these }
| decls ';' { LL (unLoc $1) }
@@
-1231,7
+1231,7
@@
decl :: { Located (OrdList (LHsDecl RdrName)) }
| docdecl { LL $ unitOL $1 }
rhs :: { Located (GRHSs RdrName) }
| docdecl { LL $ unitOL $1 }
rhs :: { Located (GRHSs RdrName) }
- : '=' exp wherebinds { L (comb3 $1 $2 $3) $ GRHSs (unguardedRHS $2) (unLoc $3) }
+ : '=' exp wherebinds { sL (comb3 $1 $2 $3) $ GRHSs (unguardedRHS $2) (unLoc $3) }
| gdrhs wherebinds { LL $ GRHSs (reverse (unLoc $1)) (unLoc $2) }
gdrhs :: { Located [LGRHS RdrName] }
| gdrhs wherebinds { LL $ GRHSs (reverse (unLoc $1)) (unLoc $2) }
gdrhs :: { Located [LGRHS RdrName] }
@@
-1441,7
+1441,7
@@
list :: { LHsExpr RdrName }
| texp '|' flattenedpquals { sL (comb2 $1 $>) $ mkHsDo ListComp (unLoc $3) $1 }
lexps :: { Located [LHsExpr RdrName] }
| texp '|' flattenedpquals { sL (comb2 $1 $>) $ mkHsDo ListComp (unLoc $3) $1 }
lexps :: { Located [LHsExpr RdrName] }
- : lexps ',' texp { LL ($3 : unLoc $1) }
+ : lexps ',' texp { LL (((:) $! $3) $! unLoc $1) }
| texp ',' texp { LL [$3,$1] }
-----------------------------------------------------------------------------
| texp ',' texp { LL [$3,$1] }
-----------------------------------------------------------------------------