Rollback INLINE patches
[ghc-hetmet.git] / compiler / parser / ParserCore.y
index 225c164..6d302fb 100644 (file)
@@ -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
@@ -346,7 +352,7 @@ eqTc (IfaceTc name) tycon = name == tyConName tycon
 -- are very limited (see the productions for 'ty', so the translation
 -- isn't hard
 toHsType :: IfaceType -> LHsType RdrName
-toHsType (IfaceTyVar v)                         = noLoc $ HsTyVar (mkRdrUnqual (mkTyVarOcc v))
+toHsType (IfaceTyVar v)                         = noLoc $ HsTyVar (mkRdrUnqual (mkTyVarOccFS v))
 toHsType (IfaceAppTy t1 t2)                     = noLoc $ HsAppTy (toHsType t1) (toHsType t2)
 toHsType (IfaceFunTy t1 t2)                     = noLoc $ HsFunTy (toHsType t1) (toHsType t2)
 toHsType (IfaceTyConApp (IfaceTc tc) ts) = foldl mkHsAppTy (noLoc $ HsTyVar (ifaceExtRdrName tc)) (map toHsType ts) 
@@ -378,7 +384,7 @@ ifaceArrow ifT1 ifT2 = IfaceFunTy ifT1 ifT2
 ifaceEq ifT1 ifT2 = IfacePredTy (IfaceEqPred ifT1 ifT2)
 
 toHsTvBndr :: IfaceTvBndr -> LHsTyVarBndr RdrName
-toHsTvBndr (tv,k) = noLoc $ KindedTyVar (mkRdrUnqual (mkTyVarOcc tv)) (toKind k)
+toHsTvBndr (tv,k) = noLoc $ KindedTyVar (mkRdrUnqual (mkTyVarOccFS tv)) (toKind k)
 
 ifaceExtRdrName :: Name -> RdrName
 ifaceExtRdrName name = mkOrig (nameModule name) (nameOccName name)