[project @ 1999-05-11 16:37:29 by keithw]
[ghc-hetmet.git] / ghc / compiler / rename / ParseIface.y
index 2e7218c..49e233e 100644 (file)
@@ -14,7 +14,7 @@ import BasicTypes     ( Fixity(..), FixityDirection(..),
                        )
 import CostCentre       ( CostCentre(..), IsCafCC(..), IsDupdCC(..) )
 import HsPragmas       ( noDataPragmas, noClassPragmas )
-import Type            ( Kind, mkArrowKind, boxedTypeKind, openTypeKind )
+import Type            ( Kind, mkArrowKind, boxedTypeKind, openTypeKind, UsageAnn(..) )
 import IdInfo           ( ArityInfo, exactArity, CprInfo(..) )
 import Lex             
 
@@ -93,6 +93,9 @@ import Ratio ( (%) )
  '__scc'       { ITscc }
  '__sccC'       { ITsccAllCafs }
 
+ '__o'         { ITonce }
+ '__m'         { ITmany }
+
  '__A'         { ITarity }
  '__P'         { ITspecialise }
  '__C'         { ITnocaf }
@@ -388,6 +391,8 @@ types2              :  type ',' type                        { [$1,$3] }
 btype          :: { RdrNameHsType }
 btype          :  atype                                { $1 }
                |  btype atype                          { MonoTyApp $1 $2 }
+                |  '__o' atype                         { MonoUsgTy UsOnce $2 }
+                |  '__m' atype                         { MonoUsgTy UsMany $2 }
 
 atype          :: { RdrNameHsType }
 atype          :  qtc_name                             { MonoTyVar $1 }