X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2Frename%2FParseIface.y;h=49e233ebbb939a987226564f2e6e6e6cabdcfa92;hb=d133b73a4d4717892ced072d05e039a54ede0ceb;hp=2e7218c8a6c3c3f3191cd5be57aa5a747ce1238b;hpb=f83ad713ad73e583fd138bb17e7341041b36a416;p=ghc-hetmet.git diff --git a/ghc/compiler/rename/ParseIface.y b/ghc/compiler/rename/ParseIface.y index 2e7218c..49e233e 100644 --- a/ghc/compiler/rename/ParseIface.y +++ b/ghc/compiler/rename/ParseIface.y @@ -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 }