{-# GHC_PRAGMA INTERFACE VERSION 5 #-} interface HsPragmas where import HsCore(UnfoldingCoreExpr) import HsDecls(ConDecl) import HsTypes(MonoType) import IdInfo(DeforestInfo, Demand, UpdateInfo) import Maybes(Labda) import Name(Name) import Outputable(Outputable) import PreludePS(_PackedString) import ProtoName(ProtoName) import SimplEnv(UnfoldingGuidance) data ClassOpPragmas a = NoClassOpPragmas | ClassOpPragmas (GenPragmas a) (GenPragmas a) data ClassPragmas a = NoClassPragmas | SuperDictPragmas [GenPragmas a] data DataPragmas a = DataPragmas [ConDecl a] [[Labda (MonoType a)]] data GenPragmas a = NoGenPragmas | GenPragmas (Labda Int) (Labda UpdateInfo) DeforestInfo (ImpStrictness a) (ImpUnfolding a) [([Labda (MonoType a)], Int, GenPragmas a)] data ImpStrictness a = NoImpStrictness | ImpStrictness Bool [Demand] (GenPragmas a) data ImpUnfolding a = NoImpUnfolding | ImpMagicUnfolding _PackedString | ImpUnfolding UnfoldingGuidance (UnfoldingCoreExpr a) data InstancePragmas a = NoInstancePragmas | SimpleInstancePragma (GenPragmas a) | ConstantInstancePragma (GenPragmas a) [(a, GenPragmas a)] | SpecialisedInstancePragma (GenPragmas a) [([Labda (MonoType a)], Int, InstancePragmas a)] type ProtoNameClassOpPragmas = ClassOpPragmas ProtoName type ProtoNameClassPragmas = ClassPragmas ProtoName type ProtoNameDataPragmas = DataPragmas ProtoName type ProtoNameGenPragmas = GenPragmas ProtoName type ProtoNameInstancePragmas = InstancePragmas ProtoName type ProtoNameUnfoldingCoreExpr = UnfoldingCoreExpr ProtoName type RenamedClassOpPragmas = ClassOpPragmas Name type RenamedClassPragmas = ClassPragmas Name type RenamedDataPragmas = DataPragmas Name type RenamedGenPragmas = GenPragmas Name type RenamedImpStrictness = ImpStrictness Name type RenamedInstancePragmas = InstancePragmas Name data TypePragmas = NoTypePragmas | AbstractTySynonym instance Outputable a => Outputable (ClassOpPragmas a) {-# GHC_PRAGMA _M_ HsPragmas {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-} instance Outputable a => Outputable (ClassPragmas a) {-# GHC_PRAGMA _M_ HsPragmas {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-} instance Outputable a => Outputable (GenPragmas a) {-# GHC_PRAGMA _M_ HsPragmas {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-} instance Outputable a => Outputable (InstancePragmas a) {-# GHC_PRAGMA _M_ HsPragmas {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}