X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fparser%2FParser.y.pp;h=32ab9915a938b6b4d911915190ec5b1711a192e7;hb=d74b100eaa9e782710b752805ac148e91e5c6850;hp=06e55ff9f522f073b8d093762e1079878feb847e;hpb=403e810b5684fa88360ce974696aa3517a002d88;p=ghc-hetmet.git diff --git a/compiler/parser/Parser.y.pp b/compiler/parser/Parser.y.pp index 06e55ff..32ab991 100644 --- 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; - these = unLoc $1 `appOL` unLoc $3 } + these = rest `appOL` this } 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) } - : '=' 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] } @@ -1441,7 +1441,7 @@ list :: { 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] } -----------------------------------------------------------------------------