X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fparser%2FParserCore.y;h=86652ffeb2f7ad0891d40881e36732d690e7a3f0;hb=2b6e4da63cfb4aba7b0d8ac13f4baee2e6ed38bf;hp=225c164472ecc1e6efb8569b031f6a53da80cb64;hpb=de777ba42eb12b6a20e548a959b23b60179d9b57;p=ghc-hetmet.git diff --git a/compiler/parser/ParserCore.y b/compiler/parser/ParserCore.y index 225c164..86652ff 100644 --- a/compiler/parser/ParserCore.y +++ b/compiler/parser/ParserCore.y @@ -1,4 +1,11 @@ { +{-# OPTIONS -w #-} +-- The above warning supression flag is a temporary kludge. +-- While working on this module you are encouraged to remove it and fix +-- any warnings in the module. See +-- http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#Warnings +-- for details + module ParserCore ( parseCore ) where import IfaceSyn @@ -13,7 +20,6 @@ import Type ( Kind, ) import Name( Name, nameOccName, nameModule, mkExternalName ) import Module -import PackageConfig ( mainPackageId, stringToPackageId ) import ParserCoreUtils import LexCore import Literal @@ -200,12 +206,12 @@ let_bind :: { IfaceBinding } | vdef { let (b,r) = $1 in IfaceNonRec b r } -vdefs1 :: { [(IfaceIdBndr, IfaceExpr)] } +vdefs1 :: { [(IfaceLetBndr, IfaceExpr)] } : vdef { [$1] } | vdef ';' vdefs1 { $1:$3 } -vdef :: { (IfaceIdBndr, IfaceExpr) } - : fs_var_occ '::' ty '=' exp { (($1, $3), $5) } +vdef :: { (IfaceLetBndr, IfaceExpr) } + : fs_var_occ '::' ty '=' exp { (IfLetBndr $1 $3 NoInfo, $5) } | '%local' vdef { $2 } -- NB: qd_occ includes data constructors, because