1-- %************************************************************************ 2-- %* * 3-- The known-key names for Template Haskell 4-- %* * 5-- %************************************************************************ 6 7module THNames where 8 9import GhcPrelude () 10 11import PrelNames( mk_known_key_name ) 12import Module( Module, mkModuleNameFS, mkModule, thUnitId ) 13import Name( Name ) 14import OccName( tcName, clsName, dataName, varName ) 15import RdrName( RdrName, nameRdrName ) 16import Unique 17import FastString 18 19-- To add a name, do three things 20-- 21-- 1) Allocate a key 22-- 2) Make a "Name" 23-- 3) Add the name to templateHaskellNames 24 25templateHaskellNames :: [Name] 26-- The names that are implicitly mentioned by ``bracket'' 27-- Should stay in sync with the import list of DsMeta 28 29templateHaskellNames = [ 30 returnQName, bindQName, sequenceQName, newNameName, liftName, liftTypedName, 31 mkNameName, mkNameG_vName, mkNameG_dName, mkNameG_tcName, mkNameLName, 32 mkNameSName, 33 liftStringName, 34 unTypeName, 35 unTypeQName, 36 unsafeTExpCoerceName, 37 38 -- Lit 39 charLName, stringLName, integerLName, intPrimLName, wordPrimLName, 40 floatPrimLName, doublePrimLName, rationalLName, stringPrimLName, 41 charPrimLName, 42 -- Pat 43 litPName, varPName, tupPName, unboxedTupPName, unboxedSumPName, 44 conPName, tildePName, bangPName, infixPName, 45 asPName, wildPName, recPName, listPName, sigPName, viewPName, 46 -- FieldPat 47 fieldPatName, 48 -- Match 49 matchName, 50 -- Clause 51 clauseName, 52 -- Exp 53 varEName, conEName, litEName, appEName, appTypeEName, infixEName, 54 infixAppName, sectionLName, sectionRName, lamEName, lamCaseEName, 55 tupEName, unboxedTupEName, unboxedSumEName, 56 condEName, multiIfEName, letEName, caseEName, doEName, mdoEName, compEName, 57 fromEName, fromThenEName, fromToEName, fromThenToEName, 58 listEName, sigEName, recConEName, recUpdEName, staticEName, unboundVarEName, 59 labelEName, implicitParamVarEName, 60 -- FieldExp 61 fieldExpName, 62 -- Body 63 guardedBName, normalBName, 64 -- Guard 65 normalGEName, patGEName, 66 -- Stmt 67 bindSName, letSName, noBindSName, parSName, recSName, 68 -- Dec 69 funDName, valDName, dataDName, newtypeDName, tySynDName, 70 classDName, instanceWithOverlapDName, 71 standaloneDerivWithStrategyDName, sigDName, kiSigDName, forImpDName, 72 pragInlDName, pragSpecDName, pragSpecInlDName, pragSpecInstDName, 73 pragRuleDName, pragCompleteDName, pragAnnDName, defaultSigDName, 74 dataFamilyDName, openTypeFamilyDName, closedTypeFamilyDName, 75 dataInstDName, newtypeInstDName, tySynInstDName, 76 infixLDName, infixRDName, infixNDName, 77 roleAnnotDName, patSynDName, patSynSigDName, 78 implicitParamBindDName, 79 -- Cxt 80 cxtName, 81 82 -- SourceUnpackedness 83 noSourceUnpackednessName, sourceNoUnpackName, sourceUnpackName, 84 -- SourceStrictness 85 noSourceStrictnessName, sourceLazyName, sourceStrictName, 86 -- Con 87 normalCName, recCName, infixCName, forallCName, gadtCName, recGadtCName, 88 -- Bang 89 bangName, 90 -- BangType 91 bangTypeName, 92 -- VarBangType 93 varBangTypeName, 94 -- PatSynDir (for pattern synonyms) 95 unidirPatSynName, implBidirPatSynName, explBidirPatSynName, 96 -- PatSynArgs (for pattern synonyms) 97 prefixPatSynName, infixPatSynName, recordPatSynName, 98 -- Type 99 forallTName, forallVisTName, varTName, conTName, infixTName, appTName, 100 appKindTName, equalityTName, tupleTName, unboxedTupleTName, 101 unboxedSumTName, arrowTName, listTName, sigTName, litTName, 102 promotedTName, promotedTupleTName, promotedNilTName, promotedConsTName, 103 wildCardTName, implicitParamTName, 104 -- TyLit 105 numTyLitName, strTyLitName, 106 -- TyVarBndr 107 plainTVName, kindedTVName, 108 -- Role 109 nominalRName, representationalRName, phantomRName, inferRName, 110 -- Kind 111 varKName, conKName, tupleKName, arrowKName, listKName, appKName, 112 starKName, constraintKName, 113 -- FamilyResultSig 114 noSigName, kindSigName, tyVarSigName, 115 -- InjectivityAnn 116 injectivityAnnName, 117 -- Callconv 118 cCallName, stdCallName, cApiCallName, primCallName, javaScriptCallName, 119 -- Safety 120 unsafeName, 121 safeName, 122 interruptibleName, 123 -- Inline 124 noInlineDataConName, inlineDataConName, inlinableDataConName, 125 -- RuleMatch 126 conLikeDataConName, funLikeDataConName, 127 -- Phases 128 allPhasesDataConName, fromPhaseDataConName, beforePhaseDataConName, 129 -- Overlap 130 overlappableDataConName, overlappingDataConName, overlapsDataConName, 131 incoherentDataConName, 132 -- DerivStrategy 133 stockStrategyName, anyclassStrategyName, 134 newtypeStrategyName, viaStrategyName, 135 -- TExp 136 tExpDataConName, 137 -- RuleBndr 138 ruleVarName, typedRuleVarName, 139 -- FunDep 140 funDepName, 141 -- TySynEqn 142 tySynEqnName, 143 -- AnnTarget 144 valueAnnotationName, typeAnnotationName, moduleAnnotationName, 145 -- DerivClause 146 derivClauseName, 147 148 -- The type classes 149 liftClassName, 150 151 -- And the tycons 152 qTyConName, nameTyConName, patTyConName, fieldPatTyConName, matchQTyConName, 153 clauseQTyConName, expQTyConName, fieldExpTyConName, predTyConName, 154 stmtQTyConName, decQTyConName, conQTyConName, bangTypeQTyConName, 155 varBangTypeQTyConName, typeQTyConName, expTyConName, decTyConName, 156 typeTyConName, tyVarBndrQTyConName, matchTyConName, clauseTyConName, 157 patQTyConName, fieldPatQTyConName, fieldExpQTyConName, funDepTyConName, 158 predQTyConName, decsQTyConName, ruleBndrQTyConName, tySynEqnQTyConName, 159 roleTyConName, tExpTyConName, injAnnTyConName, kindQTyConName, 160 overlapTyConName, derivClauseQTyConName, derivStrategyQTyConName, 161 162 -- Quasiquoting 163 quoteDecName, quoteTypeName, quoteExpName, quotePatName] 164 165thSyn, thLib, qqLib :: Module 166thSyn = mkTHModule (fsLit "Language.Haskell.TH.Syntax") 167thLib = mkTHModule (fsLit "Language.Haskell.TH.Lib.Internal") 168qqLib = mkTHModule (fsLit "Language.Haskell.TH.Quote") 169 170mkTHModule :: FastString -> Module 171mkTHModule m = mkModule thUnitId (mkModuleNameFS m) 172 173libFun, libTc, thFun, thTc, thCls, thCon, qqFun :: FastString -> Unique -> Name 174libFun = mk_known_key_name OccName.varName thLib 175libTc = mk_known_key_name OccName.tcName thLib 176thFun = mk_known_key_name OccName.varName thSyn 177thTc = mk_known_key_name OccName.tcName thSyn 178thCls = mk_known_key_name OccName.clsName thSyn 179thCon = mk_known_key_name OccName.dataName thSyn 180qqFun = mk_known_key_name OccName.varName qqLib 181 182-------------------- TH.Syntax ----------------------- 183liftClassName :: Name 184liftClassName = thCls (fsLit "Lift") liftClassKey 185 186qTyConName, nameTyConName, fieldExpTyConName, patTyConName, 187 fieldPatTyConName, expTyConName, decTyConName, typeTyConName, 188 matchTyConName, clauseTyConName, funDepTyConName, predTyConName, 189 tExpTyConName, injAnnTyConName, overlapTyConName :: Name 190qTyConName = thTc (fsLit "Q") qTyConKey 191nameTyConName = thTc (fsLit "Name") nameTyConKey 192fieldExpTyConName = thTc (fsLit "FieldExp") fieldExpTyConKey 193patTyConName = thTc (fsLit "Pat") patTyConKey 194fieldPatTyConName = thTc (fsLit "FieldPat") fieldPatTyConKey 195expTyConName = thTc (fsLit "Exp") expTyConKey 196decTyConName = thTc (fsLit "Dec") decTyConKey 197typeTyConName = thTc (fsLit "Type") typeTyConKey 198matchTyConName = thTc (fsLit "Match") matchTyConKey 199clauseTyConName = thTc (fsLit "Clause") clauseTyConKey 200funDepTyConName = thTc (fsLit "FunDep") funDepTyConKey 201predTyConName = thTc (fsLit "Pred") predTyConKey 202tExpTyConName = thTc (fsLit "TExp") tExpTyConKey 203injAnnTyConName = thTc (fsLit "InjectivityAnn") injAnnTyConKey 204overlapTyConName = thTc (fsLit "Overlap") overlapTyConKey 205 206returnQName, bindQName, sequenceQName, newNameName, liftName, 207 mkNameName, mkNameG_vName, mkNameG_dName, mkNameG_tcName, 208 mkNameLName, mkNameSName, liftStringName, unTypeName, unTypeQName, 209 unsafeTExpCoerceName, liftTypedName :: Name 210returnQName = thFun (fsLit "returnQ") returnQIdKey 211bindQName = thFun (fsLit "bindQ") bindQIdKey 212sequenceQName = thFun (fsLit "sequenceQ") sequenceQIdKey 213newNameName = thFun (fsLit "newName") newNameIdKey 214liftName = thFun (fsLit "lift") liftIdKey 215liftStringName = thFun (fsLit "liftString") liftStringIdKey 216mkNameName = thFun (fsLit "mkName") mkNameIdKey 217mkNameG_vName = thFun (fsLit "mkNameG_v") mkNameG_vIdKey 218mkNameG_dName = thFun (fsLit "mkNameG_d") mkNameG_dIdKey 219mkNameG_tcName = thFun (fsLit "mkNameG_tc") mkNameG_tcIdKey 220mkNameLName = thFun (fsLit "mkNameL") mkNameLIdKey 221mkNameSName = thFun (fsLit "mkNameS") mkNameSIdKey 222unTypeName = thFun (fsLit "unType") unTypeIdKey 223unTypeQName = thFun (fsLit "unTypeQ") unTypeQIdKey 224unsafeTExpCoerceName = thFun (fsLit "unsafeTExpCoerce") unsafeTExpCoerceIdKey 225liftTypedName = thFun (fsLit "liftTyped") liftTypedIdKey 226 227 228-------------------- TH.Lib ----------------------- 229-- data Lit = ... 230charLName, stringLName, integerLName, intPrimLName, wordPrimLName, 231 floatPrimLName, doublePrimLName, rationalLName, stringPrimLName, 232 charPrimLName :: Name 233charLName = libFun (fsLit "charL") charLIdKey 234stringLName = libFun (fsLit "stringL") stringLIdKey 235integerLName = libFun (fsLit "integerL") integerLIdKey 236intPrimLName = libFun (fsLit "intPrimL") intPrimLIdKey 237wordPrimLName = libFun (fsLit "wordPrimL") wordPrimLIdKey 238floatPrimLName = libFun (fsLit "floatPrimL") floatPrimLIdKey 239doublePrimLName = libFun (fsLit "doublePrimL") doublePrimLIdKey 240rationalLName = libFun (fsLit "rationalL") rationalLIdKey 241stringPrimLName = libFun (fsLit "stringPrimL") stringPrimLIdKey 242charPrimLName = libFun (fsLit "charPrimL") charPrimLIdKey 243 244-- data Pat = ... 245litPName, varPName, tupPName, unboxedTupPName, unboxedSumPName, conPName, 246 infixPName, tildePName, bangPName, asPName, wildPName, recPName, listPName, 247 sigPName, viewPName :: Name 248litPName = libFun (fsLit "litP") litPIdKey 249varPName = libFun (fsLit "varP") varPIdKey 250tupPName = libFun (fsLit "tupP") tupPIdKey 251unboxedTupPName = libFun (fsLit "unboxedTupP") unboxedTupPIdKey 252unboxedSumPName = libFun (fsLit "unboxedSumP") unboxedSumPIdKey 253conPName = libFun (fsLit "conP") conPIdKey 254infixPName = libFun (fsLit "infixP") infixPIdKey 255tildePName = libFun (fsLit "tildeP") tildePIdKey 256bangPName = libFun (fsLit "bangP") bangPIdKey 257asPName = libFun (fsLit "asP") asPIdKey 258wildPName = libFun (fsLit "wildP") wildPIdKey 259recPName = libFun (fsLit "recP") recPIdKey 260listPName = libFun (fsLit "listP") listPIdKey 261sigPName = libFun (fsLit "sigP") sigPIdKey 262viewPName = libFun (fsLit "viewP") viewPIdKey 263 264-- type FieldPat = ... 265fieldPatName :: Name 266fieldPatName = libFun (fsLit "fieldPat") fieldPatIdKey 267 268-- data Match = ... 269matchName :: Name 270matchName = libFun (fsLit "match") matchIdKey 271 272-- data Clause = ... 273clauseName :: Name 274clauseName = libFun (fsLit "clause") clauseIdKey 275 276-- data Exp = ... 277varEName, conEName, litEName, appEName, appTypeEName, infixEName, infixAppName, 278 sectionLName, sectionRName, lamEName, lamCaseEName, tupEName, 279 unboxedTupEName, unboxedSumEName, condEName, multiIfEName, letEName, 280 caseEName, doEName, mdoEName, compEName, staticEName, unboundVarEName, 281 labelEName, implicitParamVarEName :: Name 282varEName = libFun (fsLit "varE") varEIdKey 283conEName = libFun (fsLit "conE") conEIdKey 284litEName = libFun (fsLit "litE") litEIdKey 285appEName = libFun (fsLit "appE") appEIdKey 286appTypeEName = libFun (fsLit "appTypeE") appTypeEIdKey 287infixEName = libFun (fsLit "infixE") infixEIdKey 288infixAppName = libFun (fsLit "infixApp") infixAppIdKey 289sectionLName = libFun (fsLit "sectionL") sectionLIdKey 290sectionRName = libFun (fsLit "sectionR") sectionRIdKey 291lamEName = libFun (fsLit "lamE") lamEIdKey 292lamCaseEName = libFun (fsLit "lamCaseE") lamCaseEIdKey 293tupEName = libFun (fsLit "tupE") tupEIdKey 294unboxedTupEName = libFun (fsLit "unboxedTupE") unboxedTupEIdKey 295unboxedSumEName = libFun (fsLit "unboxedSumE") unboxedSumEIdKey 296condEName = libFun (fsLit "condE") condEIdKey 297multiIfEName = libFun (fsLit "multiIfE") multiIfEIdKey 298letEName = libFun (fsLit "letE") letEIdKey 299caseEName = libFun (fsLit "caseE") caseEIdKey 300doEName = libFun (fsLit "doE") doEIdKey 301mdoEName = libFun (fsLit "mdoE") mdoEIdKey 302compEName = libFun (fsLit "compE") compEIdKey 303-- ArithSeq skips a level 304fromEName, fromThenEName, fromToEName, fromThenToEName :: Name 305fromEName = libFun (fsLit "fromE") fromEIdKey 306fromThenEName = libFun (fsLit "fromThenE") fromThenEIdKey 307fromToEName = libFun (fsLit "fromToE") fromToEIdKey 308fromThenToEName = libFun (fsLit "fromThenToE") fromThenToEIdKey 309-- end ArithSeq 310listEName, sigEName, recConEName, recUpdEName :: Name 311listEName = libFun (fsLit "listE") listEIdKey 312sigEName = libFun (fsLit "sigE") sigEIdKey 313recConEName = libFun (fsLit "recConE") recConEIdKey 314recUpdEName = libFun (fsLit "recUpdE") recUpdEIdKey 315staticEName = libFun (fsLit "staticE") staticEIdKey 316unboundVarEName = libFun (fsLit "unboundVarE") unboundVarEIdKey 317labelEName = libFun (fsLit "labelE") labelEIdKey 318implicitParamVarEName = libFun (fsLit "implicitParamVarE") implicitParamVarEIdKey 319 320-- type FieldExp = ... 321fieldExpName :: Name 322fieldExpName = libFun (fsLit "fieldExp") fieldExpIdKey 323 324-- data Body = ... 325guardedBName, normalBName :: Name 326guardedBName = libFun (fsLit "guardedB") guardedBIdKey 327normalBName = libFun (fsLit "normalB") normalBIdKey 328 329-- data Guard = ... 330normalGEName, patGEName :: Name 331normalGEName = libFun (fsLit "normalGE") normalGEIdKey 332patGEName = libFun (fsLit "patGE") patGEIdKey 333 334-- data Stmt = ... 335bindSName, letSName, noBindSName, parSName, recSName :: Name 336bindSName = libFun (fsLit "bindS") bindSIdKey 337letSName = libFun (fsLit "letS") letSIdKey 338noBindSName = libFun (fsLit "noBindS") noBindSIdKey 339parSName = libFun (fsLit "parS") parSIdKey 340recSName = libFun (fsLit "recS") recSIdKey 341 342-- data Dec = ... 343funDName, valDName, dataDName, newtypeDName, tySynDName, classDName, 344 instanceWithOverlapDName, sigDName, kiSigDName, forImpDName, pragInlDName, 345 pragSpecDName, pragSpecInlDName, pragSpecInstDName, pragRuleDName, 346 pragAnnDName, standaloneDerivWithStrategyDName, defaultSigDName, 347 dataInstDName, newtypeInstDName, tySynInstDName, dataFamilyDName, 348 openTypeFamilyDName, closedTypeFamilyDName, infixLDName, infixRDName, 349 infixNDName, roleAnnotDName, patSynDName, patSynSigDName, 350 pragCompleteDName, implicitParamBindDName :: Name 351funDName = libFun (fsLit "funD") funDIdKey 352valDName = libFun (fsLit "valD") valDIdKey 353dataDName = libFun (fsLit "dataD") dataDIdKey 354newtypeDName = libFun (fsLit "newtypeD") newtypeDIdKey 355tySynDName = libFun (fsLit "tySynD") tySynDIdKey 356classDName = libFun (fsLit "classD") classDIdKey 357instanceWithOverlapDName = libFun (fsLit "instanceWithOverlapD") instanceWithOverlapDIdKey 358standaloneDerivWithStrategyDName = libFun (fsLit "standaloneDerivWithStrategyD") standaloneDerivWithStrategyDIdKey 359sigDName = libFun (fsLit "sigD") sigDIdKey 360kiSigDName = libFun (fsLit "kiSigD") kiSigDIdKey 361defaultSigDName = libFun (fsLit "defaultSigD") defaultSigDIdKey 362forImpDName = libFun (fsLit "forImpD") forImpDIdKey 363pragInlDName = libFun (fsLit "pragInlD") pragInlDIdKey 364pragSpecDName = libFun (fsLit "pragSpecD") pragSpecDIdKey 365pragSpecInlDName = libFun (fsLit "pragSpecInlD") pragSpecInlDIdKey 366pragSpecInstDName = libFun (fsLit "pragSpecInstD") pragSpecInstDIdKey 367pragRuleDName = libFun (fsLit "pragRuleD") pragRuleDIdKey 368pragCompleteDName = libFun (fsLit "pragCompleteD") pragCompleteDIdKey 369pragAnnDName = libFun (fsLit "pragAnnD") pragAnnDIdKey 370dataInstDName = libFun (fsLit "dataInstD") dataInstDIdKey 371newtypeInstDName = libFun (fsLit "newtypeInstD") newtypeInstDIdKey 372tySynInstDName = libFun (fsLit "tySynInstD") tySynInstDIdKey 373openTypeFamilyDName = libFun (fsLit "openTypeFamilyD") openTypeFamilyDIdKey 374closedTypeFamilyDName = libFun (fsLit "closedTypeFamilyD") closedTypeFamilyDIdKey 375dataFamilyDName = libFun (fsLit "dataFamilyD") dataFamilyDIdKey 376infixLDName = libFun (fsLit "infixLD") infixLDIdKey 377infixRDName = libFun (fsLit "infixRD") infixRDIdKey 378infixNDName = libFun (fsLit "infixND") infixNDIdKey 379roleAnnotDName = libFun (fsLit "roleAnnotD") roleAnnotDIdKey 380patSynDName = libFun (fsLit "patSynD") patSynDIdKey 381patSynSigDName = libFun (fsLit "patSynSigD") patSynSigDIdKey 382implicitParamBindDName = libFun (fsLit "implicitParamBindD") implicitParamBindDIdKey 383 384-- type Ctxt = ... 385cxtName :: Name 386cxtName = libFun (fsLit "cxt") cxtIdKey 387 388-- data SourceUnpackedness = ... 389noSourceUnpackednessName, sourceNoUnpackName, sourceUnpackName :: Name 390noSourceUnpackednessName = libFun (fsLit "noSourceUnpackedness") noSourceUnpackednessKey 391sourceNoUnpackName = libFun (fsLit "sourceNoUnpack") sourceNoUnpackKey 392sourceUnpackName = libFun (fsLit "sourceUnpack") sourceUnpackKey 393 394-- data SourceStrictness = ... 395noSourceStrictnessName, sourceLazyName, sourceStrictName :: Name 396noSourceStrictnessName = libFun (fsLit "noSourceStrictness") noSourceStrictnessKey 397sourceLazyName = libFun (fsLit "sourceLazy") sourceLazyKey 398sourceStrictName = libFun (fsLit "sourceStrict") sourceStrictKey 399 400-- data Con = ... 401normalCName, recCName, infixCName, forallCName, gadtCName, recGadtCName :: Name 402normalCName = libFun (fsLit "normalC" ) normalCIdKey 403recCName = libFun (fsLit "recC" ) recCIdKey 404infixCName = libFun (fsLit "infixC" ) infixCIdKey 405forallCName = libFun (fsLit "forallC" ) forallCIdKey 406gadtCName = libFun (fsLit "gadtC" ) gadtCIdKey 407recGadtCName = libFun (fsLit "recGadtC") recGadtCIdKey 408 409-- data Bang = ... 410bangName :: Name 411bangName = libFun (fsLit "bang") bangIdKey 412 413-- type BangType = ... 414bangTypeName :: Name 415bangTypeName = libFun (fsLit "bangType") bangTKey 416 417-- type VarBangType = ... 418varBangTypeName :: Name 419varBangTypeName = libFun (fsLit "varBangType") varBangTKey 420 421-- data PatSynDir = ... 422unidirPatSynName, implBidirPatSynName, explBidirPatSynName :: Name 423unidirPatSynName = libFun (fsLit "unidir") unidirPatSynIdKey 424implBidirPatSynName = libFun (fsLit "implBidir") implBidirPatSynIdKey 425explBidirPatSynName = libFun (fsLit "explBidir") explBidirPatSynIdKey 426 427-- data PatSynArgs = ... 428prefixPatSynName, infixPatSynName, recordPatSynName :: Name 429prefixPatSynName = libFun (fsLit "prefixPatSyn") prefixPatSynIdKey 430infixPatSynName = libFun (fsLit "infixPatSyn") infixPatSynIdKey 431recordPatSynName = libFun (fsLit "recordPatSyn") recordPatSynIdKey 432 433-- data Type = ... 434forallTName, forallVisTName, varTName, conTName, infixTName, tupleTName, 435 unboxedTupleTName, unboxedSumTName, arrowTName, listTName, appTName, 436 appKindTName, sigTName, equalityTName, litTName, promotedTName, 437 promotedTupleTName, promotedNilTName, promotedConsTName, 438 wildCardTName, implicitParamTName :: Name 439forallTName = libFun (fsLit "forallT") forallTIdKey 440forallVisTName = libFun (fsLit "forallVisT") forallVisTIdKey 441varTName = libFun (fsLit "varT") varTIdKey 442conTName = libFun (fsLit "conT") conTIdKey 443tupleTName = libFun (fsLit "tupleT") tupleTIdKey 444unboxedTupleTName = libFun (fsLit "unboxedTupleT") unboxedTupleTIdKey 445unboxedSumTName = libFun (fsLit "unboxedSumT") unboxedSumTIdKey 446arrowTName = libFun (fsLit "arrowT") arrowTIdKey 447listTName = libFun (fsLit "listT") listTIdKey 448appTName = libFun (fsLit "appT") appTIdKey 449appKindTName = libFun (fsLit "appKindT") appKindTIdKey 450sigTName = libFun (fsLit "sigT") sigTIdKey 451equalityTName = libFun (fsLit "equalityT") equalityTIdKey 452litTName = libFun (fsLit "litT") litTIdKey 453promotedTName = libFun (fsLit "promotedT") promotedTIdKey 454promotedTupleTName = libFun (fsLit "promotedTupleT") promotedTupleTIdKey 455promotedNilTName = libFun (fsLit "promotedNilT") promotedNilTIdKey 456promotedConsTName = libFun (fsLit "promotedConsT") promotedConsTIdKey 457wildCardTName = libFun (fsLit "wildCardT") wildCardTIdKey 458infixTName = libFun (fsLit "infixT") infixTIdKey 459implicitParamTName = libFun (fsLit "implicitParamT") implicitParamTIdKey 460 461-- data TyLit = ... 462numTyLitName, strTyLitName :: Name 463numTyLitName = libFun (fsLit "numTyLit") numTyLitIdKey 464strTyLitName = libFun (fsLit "strTyLit") strTyLitIdKey 465 466-- data TyVarBndr = ... 467plainTVName, kindedTVName :: Name 468plainTVName = libFun (fsLit "plainTV") plainTVIdKey 469kindedTVName = libFun (fsLit "kindedTV") kindedTVIdKey 470 471-- data Role = ... 472nominalRName, representationalRName, phantomRName, inferRName :: Name 473nominalRName = libFun (fsLit "nominalR") nominalRIdKey 474representationalRName = libFun (fsLit "representationalR") representationalRIdKey 475phantomRName = libFun (fsLit "phantomR") phantomRIdKey 476inferRName = libFun (fsLit "inferR") inferRIdKey 477 478-- data Kind = ... 479varKName, conKName, tupleKName, arrowKName, listKName, appKName, 480 starKName, constraintKName :: Name 481varKName = libFun (fsLit "varK") varKIdKey 482conKName = libFun (fsLit "conK") conKIdKey 483tupleKName = libFun (fsLit "tupleK") tupleKIdKey 484arrowKName = libFun (fsLit "arrowK") arrowKIdKey 485listKName = libFun (fsLit "listK") listKIdKey 486appKName = libFun (fsLit "appK") appKIdKey 487starKName = libFun (fsLit "starK") starKIdKey 488constraintKName = libFun (fsLit "constraintK") constraintKIdKey 489 490-- data FamilyResultSig = ... 491noSigName, kindSigName, tyVarSigName :: Name 492noSigName = libFun (fsLit "noSig") noSigIdKey 493kindSigName = libFun (fsLit "kindSig") kindSigIdKey 494tyVarSigName = libFun (fsLit "tyVarSig") tyVarSigIdKey 495 496-- data InjectivityAnn = ... 497injectivityAnnName :: Name 498injectivityAnnName = libFun (fsLit "injectivityAnn") injectivityAnnIdKey 499 500-- data Callconv = ... 501cCallName, stdCallName, cApiCallName, primCallName, javaScriptCallName :: Name 502cCallName = libFun (fsLit "cCall") cCallIdKey 503stdCallName = libFun (fsLit "stdCall") stdCallIdKey 504cApiCallName = libFun (fsLit "cApi") cApiCallIdKey 505primCallName = libFun (fsLit "prim") primCallIdKey 506javaScriptCallName = libFun (fsLit "javaScript") javaScriptCallIdKey 507 508-- data Safety = ... 509unsafeName, safeName, interruptibleName :: Name 510unsafeName = libFun (fsLit "unsafe") unsafeIdKey 511safeName = libFun (fsLit "safe") safeIdKey 512interruptibleName = libFun (fsLit "interruptible") interruptibleIdKey 513 514-- newtype TExp a = ... 515tExpDataConName :: Name 516tExpDataConName = thCon (fsLit "TExp") tExpDataConKey 517 518-- data RuleBndr = ... 519ruleVarName, typedRuleVarName :: Name 520ruleVarName = libFun (fsLit ("ruleVar")) ruleVarIdKey 521typedRuleVarName = libFun (fsLit ("typedRuleVar")) typedRuleVarIdKey 522 523-- data FunDep = ... 524funDepName :: Name 525funDepName = libFun (fsLit "funDep") funDepIdKey 526 527-- data TySynEqn = ... 528tySynEqnName :: Name 529tySynEqnName = libFun (fsLit "tySynEqn") tySynEqnIdKey 530 531-- data AnnTarget = ... 532valueAnnotationName, typeAnnotationName, moduleAnnotationName :: Name 533valueAnnotationName = libFun (fsLit "valueAnnotation") valueAnnotationIdKey 534typeAnnotationName = libFun (fsLit "typeAnnotation") typeAnnotationIdKey 535moduleAnnotationName = libFun (fsLit "moduleAnnotation") moduleAnnotationIdKey 536 537-- type DerivClause = ... 538derivClauseName :: Name 539derivClauseName = libFun (fsLit "derivClause") derivClauseIdKey 540 541-- data DerivStrategy = ... 542stockStrategyName, anyclassStrategyName, newtypeStrategyName, 543 viaStrategyName :: Name 544stockStrategyName = libFun (fsLit "stockStrategy") stockStrategyIdKey 545anyclassStrategyName = libFun (fsLit "anyclassStrategy") anyclassStrategyIdKey 546newtypeStrategyName = libFun (fsLit "newtypeStrategy") newtypeStrategyIdKey 547viaStrategyName = libFun (fsLit "viaStrategy") viaStrategyIdKey 548 549matchQTyConName, clauseQTyConName, expQTyConName, stmtQTyConName, 550 decQTyConName, conQTyConName, bangTypeQTyConName, 551 varBangTypeQTyConName, typeQTyConName, fieldExpQTyConName, 552 patQTyConName, fieldPatQTyConName, predQTyConName, decsQTyConName, 553 ruleBndrQTyConName, tySynEqnQTyConName, roleTyConName, 554 derivClauseQTyConName, kindQTyConName, tyVarBndrQTyConName, 555 derivStrategyQTyConName :: Name 556matchQTyConName = libTc (fsLit "MatchQ") matchQTyConKey 557clauseQTyConName = libTc (fsLit "ClauseQ") clauseQTyConKey 558expQTyConName = libTc (fsLit "ExpQ") expQTyConKey 559stmtQTyConName = libTc (fsLit "StmtQ") stmtQTyConKey 560decQTyConName = libTc (fsLit "DecQ") decQTyConKey 561decsQTyConName = libTc (fsLit "DecsQ") decsQTyConKey -- Q [Dec] 562conQTyConName = libTc (fsLit "ConQ") conQTyConKey 563bangTypeQTyConName = libTc (fsLit "BangTypeQ") bangTypeQTyConKey 564varBangTypeQTyConName = libTc (fsLit "VarBangTypeQ") varBangTypeQTyConKey 565typeQTyConName = libTc (fsLit "TypeQ") typeQTyConKey 566fieldExpQTyConName = libTc (fsLit "FieldExpQ") fieldExpQTyConKey 567patQTyConName = libTc (fsLit "PatQ") patQTyConKey 568fieldPatQTyConName = libTc (fsLit "FieldPatQ") fieldPatQTyConKey 569predQTyConName = libTc (fsLit "PredQ") predQTyConKey 570ruleBndrQTyConName = libTc (fsLit "RuleBndrQ") ruleBndrQTyConKey 571tySynEqnQTyConName = libTc (fsLit "TySynEqnQ") tySynEqnQTyConKey 572roleTyConName = libTc (fsLit "Role") roleTyConKey 573derivClauseQTyConName = libTc (fsLit "DerivClauseQ") derivClauseQTyConKey 574kindQTyConName = libTc (fsLit "KindQ") kindQTyConKey 575tyVarBndrQTyConName = libTc (fsLit "TyVarBndrQ") tyVarBndrQTyConKey 576derivStrategyQTyConName = libTc (fsLit "DerivStrategyQ") derivStrategyQTyConKey 577 578-- quasiquoting 579quoteExpName, quotePatName, quoteDecName, quoteTypeName :: Name 580quoteExpName = qqFun (fsLit "quoteExp") quoteExpKey 581quotePatName = qqFun (fsLit "quotePat") quotePatKey 582quoteDecName = qqFun (fsLit "quoteDec") quoteDecKey 583quoteTypeName = qqFun (fsLit "quoteType") quoteTypeKey 584 585-- data Inline = ... 586noInlineDataConName, inlineDataConName, inlinableDataConName :: Name 587noInlineDataConName = thCon (fsLit "NoInline") noInlineDataConKey 588inlineDataConName = thCon (fsLit "Inline") inlineDataConKey 589inlinableDataConName = thCon (fsLit "Inlinable") inlinableDataConKey 590 591-- data RuleMatch = ... 592conLikeDataConName, funLikeDataConName :: Name 593conLikeDataConName = thCon (fsLit "ConLike") conLikeDataConKey 594funLikeDataConName = thCon (fsLit "FunLike") funLikeDataConKey 595 596-- data Phases = ... 597allPhasesDataConName, fromPhaseDataConName, beforePhaseDataConName :: Name 598allPhasesDataConName = thCon (fsLit "AllPhases") allPhasesDataConKey 599fromPhaseDataConName = thCon (fsLit "FromPhase") fromPhaseDataConKey 600beforePhaseDataConName = thCon (fsLit "BeforePhase") beforePhaseDataConKey 601 602-- data Overlap = ... 603overlappableDataConName, 604 overlappingDataConName, 605 overlapsDataConName, 606 incoherentDataConName :: Name 607overlappableDataConName = thCon (fsLit "Overlappable") overlappableDataConKey 608overlappingDataConName = thCon (fsLit "Overlapping") overlappingDataConKey 609overlapsDataConName = thCon (fsLit "Overlaps") overlapsDataConKey 610incoherentDataConName = thCon (fsLit "Incoherent") incoherentDataConKey 611 612{- ********************************************************************* 613* * 614 Class keys 615* * 616********************************************************************* -} 617 618-- ClassUniques available: 200-299 619-- Check in PrelNames if you want to change this 620 621liftClassKey :: Unique 622liftClassKey = mkPreludeClassUnique 200 623 624{- ********************************************************************* 625* * 626 TyCon keys 627* * 628********************************************************************* -} 629 630-- TyConUniques available: 200-299 631-- Check in PrelNames if you want to change this 632 633expTyConKey, matchTyConKey, clauseTyConKey, qTyConKey, expQTyConKey, 634 decQTyConKey, patTyConKey, matchQTyConKey, clauseQTyConKey, 635 stmtQTyConKey, conQTyConKey, typeQTyConKey, typeTyConKey, 636 tyVarBndrQTyConKey, decTyConKey, bangTypeQTyConKey, varBangTypeQTyConKey, 637 fieldExpTyConKey, fieldPatTyConKey, nameTyConKey, patQTyConKey, 638 fieldPatQTyConKey, fieldExpQTyConKey, funDepTyConKey, predTyConKey, 639 predQTyConKey, decsQTyConKey, ruleBndrQTyConKey, tySynEqnQTyConKey, 640 roleTyConKey, tExpTyConKey, injAnnTyConKey, kindQTyConKey, 641 overlapTyConKey, derivClauseQTyConKey, derivStrategyQTyConKey :: Unique 642expTyConKey = mkPreludeTyConUnique 200 643matchTyConKey = mkPreludeTyConUnique 201 644clauseTyConKey = mkPreludeTyConUnique 202 645qTyConKey = mkPreludeTyConUnique 203 646expQTyConKey = mkPreludeTyConUnique 204 647decQTyConKey = mkPreludeTyConUnique 205 648patTyConKey = mkPreludeTyConUnique 206 649matchQTyConKey = mkPreludeTyConUnique 207 650clauseQTyConKey = mkPreludeTyConUnique 208 651stmtQTyConKey = mkPreludeTyConUnique 209 652conQTyConKey = mkPreludeTyConUnique 210 653typeQTyConKey = mkPreludeTyConUnique 211 654typeTyConKey = mkPreludeTyConUnique 212 655decTyConKey = mkPreludeTyConUnique 213 656bangTypeQTyConKey = mkPreludeTyConUnique 214 657varBangTypeQTyConKey = mkPreludeTyConUnique 215 658fieldExpTyConKey = mkPreludeTyConUnique 216 659fieldPatTyConKey = mkPreludeTyConUnique 217 660nameTyConKey = mkPreludeTyConUnique 218 661patQTyConKey = mkPreludeTyConUnique 219 662fieldPatQTyConKey = mkPreludeTyConUnique 220 663fieldExpQTyConKey = mkPreludeTyConUnique 221 664funDepTyConKey = mkPreludeTyConUnique 222 665predTyConKey = mkPreludeTyConUnique 223 666predQTyConKey = mkPreludeTyConUnique 224 667tyVarBndrQTyConKey = mkPreludeTyConUnique 225 668decsQTyConKey = mkPreludeTyConUnique 226 669ruleBndrQTyConKey = mkPreludeTyConUnique 227 670tySynEqnQTyConKey = mkPreludeTyConUnique 228 671roleTyConKey = mkPreludeTyConUnique 229 672tExpTyConKey = mkPreludeTyConUnique 230 673injAnnTyConKey = mkPreludeTyConUnique 231 674kindQTyConKey = mkPreludeTyConUnique 232 675overlapTyConKey = mkPreludeTyConUnique 233 676derivClauseQTyConKey = mkPreludeTyConUnique 234 677derivStrategyQTyConKey = mkPreludeTyConUnique 235 678 679{- ********************************************************************* 680* * 681 DataCon keys 682* * 683********************************************************************* -} 684 685-- DataConUniques available: 100-150 686-- If you want to change this, make sure you check in PrelNames 687 688-- data Inline = ... 689noInlineDataConKey, inlineDataConKey, inlinableDataConKey :: Unique 690noInlineDataConKey = mkPreludeDataConUnique 200 691inlineDataConKey = mkPreludeDataConUnique 201 692inlinableDataConKey = mkPreludeDataConUnique 202 693 694-- data RuleMatch = ... 695conLikeDataConKey, funLikeDataConKey :: Unique 696conLikeDataConKey = mkPreludeDataConUnique 203 697funLikeDataConKey = mkPreludeDataConUnique 204 698 699-- data Phases = ... 700allPhasesDataConKey, fromPhaseDataConKey, beforePhaseDataConKey :: Unique 701allPhasesDataConKey = mkPreludeDataConUnique 205 702fromPhaseDataConKey = mkPreludeDataConUnique 206 703beforePhaseDataConKey = mkPreludeDataConUnique 207 704 705-- newtype TExp a = ... 706tExpDataConKey :: Unique 707tExpDataConKey = mkPreludeDataConUnique 208 708 709-- data Overlap = .. 710overlappableDataConKey, 711 overlappingDataConKey, 712 overlapsDataConKey, 713 incoherentDataConKey :: Unique 714overlappableDataConKey = mkPreludeDataConUnique 209 715overlappingDataConKey = mkPreludeDataConUnique 210 716overlapsDataConKey = mkPreludeDataConUnique 211 717incoherentDataConKey = mkPreludeDataConUnique 212 718 719{- ********************************************************************* 720* * 721 Id keys 722* * 723********************************************************************* -} 724 725-- IdUniques available: 200-499 726-- If you want to change this, make sure you check in PrelNames 727 728returnQIdKey, bindQIdKey, sequenceQIdKey, liftIdKey, newNameIdKey, 729 mkNameIdKey, mkNameG_vIdKey, mkNameG_dIdKey, mkNameG_tcIdKey, 730 mkNameLIdKey, mkNameSIdKey, unTypeIdKey, unTypeQIdKey, 731 unsafeTExpCoerceIdKey, liftTypedIdKey :: Unique 732returnQIdKey = mkPreludeMiscIdUnique 200 733bindQIdKey = mkPreludeMiscIdUnique 201 734sequenceQIdKey = mkPreludeMiscIdUnique 202 735liftIdKey = mkPreludeMiscIdUnique 203 736newNameIdKey = mkPreludeMiscIdUnique 204 737mkNameIdKey = mkPreludeMiscIdUnique 205 738mkNameG_vIdKey = mkPreludeMiscIdUnique 206 739mkNameG_dIdKey = mkPreludeMiscIdUnique 207 740mkNameG_tcIdKey = mkPreludeMiscIdUnique 208 741mkNameLIdKey = mkPreludeMiscIdUnique 209 742mkNameSIdKey = mkPreludeMiscIdUnique 210 743unTypeIdKey = mkPreludeMiscIdUnique 211 744unTypeQIdKey = mkPreludeMiscIdUnique 212 745unsafeTExpCoerceIdKey = mkPreludeMiscIdUnique 213 746liftTypedIdKey = mkPreludeMiscIdUnique 214 747 748 749-- data Lit = ... 750charLIdKey, stringLIdKey, integerLIdKey, intPrimLIdKey, wordPrimLIdKey, 751 floatPrimLIdKey, doublePrimLIdKey, rationalLIdKey, stringPrimLIdKey, 752 charPrimLIdKey:: Unique 753charLIdKey = mkPreludeMiscIdUnique 220 754stringLIdKey = mkPreludeMiscIdUnique 221 755integerLIdKey = mkPreludeMiscIdUnique 222 756intPrimLIdKey = mkPreludeMiscIdUnique 223 757wordPrimLIdKey = mkPreludeMiscIdUnique 224 758floatPrimLIdKey = mkPreludeMiscIdUnique 225 759doublePrimLIdKey = mkPreludeMiscIdUnique 226 760rationalLIdKey = mkPreludeMiscIdUnique 227 761stringPrimLIdKey = mkPreludeMiscIdUnique 228 762charPrimLIdKey = mkPreludeMiscIdUnique 229 763 764liftStringIdKey :: Unique 765liftStringIdKey = mkPreludeMiscIdUnique 230 766 767-- data Pat = ... 768litPIdKey, varPIdKey, tupPIdKey, unboxedTupPIdKey, unboxedSumPIdKey, conPIdKey, 769 infixPIdKey, tildePIdKey, bangPIdKey, asPIdKey, wildPIdKey, recPIdKey, 770 listPIdKey, sigPIdKey, viewPIdKey :: Unique 771litPIdKey = mkPreludeMiscIdUnique 240 772varPIdKey = mkPreludeMiscIdUnique 241 773tupPIdKey = mkPreludeMiscIdUnique 242 774unboxedTupPIdKey = mkPreludeMiscIdUnique 243 775unboxedSumPIdKey = mkPreludeMiscIdUnique 244 776conPIdKey = mkPreludeMiscIdUnique 245 777infixPIdKey = mkPreludeMiscIdUnique 246 778tildePIdKey = mkPreludeMiscIdUnique 247 779bangPIdKey = mkPreludeMiscIdUnique 248 780asPIdKey = mkPreludeMiscIdUnique 249 781wildPIdKey = mkPreludeMiscIdUnique 250 782recPIdKey = mkPreludeMiscIdUnique 251 783listPIdKey = mkPreludeMiscIdUnique 252 784sigPIdKey = mkPreludeMiscIdUnique 253 785viewPIdKey = mkPreludeMiscIdUnique 254 786 787-- type FieldPat = ... 788fieldPatIdKey :: Unique 789fieldPatIdKey = mkPreludeMiscIdUnique 260 790 791-- data Match = ... 792matchIdKey :: Unique 793matchIdKey = mkPreludeMiscIdUnique 261 794 795-- data Clause = ... 796clauseIdKey :: Unique 797clauseIdKey = mkPreludeMiscIdUnique 262 798 799 800-- data Exp = ... 801varEIdKey, conEIdKey, litEIdKey, appEIdKey, appTypeEIdKey, infixEIdKey, 802 infixAppIdKey, sectionLIdKey, sectionRIdKey, lamEIdKey, lamCaseEIdKey, 803 tupEIdKey, unboxedTupEIdKey, unboxedSumEIdKey, condEIdKey, multiIfEIdKey, 804 letEIdKey, caseEIdKey, doEIdKey, compEIdKey, 805 fromEIdKey, fromThenEIdKey, fromToEIdKey, fromThenToEIdKey, 806 listEIdKey, sigEIdKey, recConEIdKey, recUpdEIdKey, staticEIdKey, 807 unboundVarEIdKey, labelEIdKey, implicitParamVarEIdKey, mdoEIdKey :: Unique 808varEIdKey = mkPreludeMiscIdUnique 270 809conEIdKey = mkPreludeMiscIdUnique 271 810litEIdKey = mkPreludeMiscIdUnique 272 811appEIdKey = mkPreludeMiscIdUnique 273 812appTypeEIdKey = mkPreludeMiscIdUnique 274 813infixEIdKey = mkPreludeMiscIdUnique 275 814infixAppIdKey = mkPreludeMiscIdUnique 276 815sectionLIdKey = mkPreludeMiscIdUnique 277 816sectionRIdKey = mkPreludeMiscIdUnique 278 817lamEIdKey = mkPreludeMiscIdUnique 279 818lamCaseEIdKey = mkPreludeMiscIdUnique 280 819tupEIdKey = mkPreludeMiscIdUnique 281 820unboxedTupEIdKey = mkPreludeMiscIdUnique 282 821unboxedSumEIdKey = mkPreludeMiscIdUnique 283 822condEIdKey = mkPreludeMiscIdUnique 284 823multiIfEIdKey = mkPreludeMiscIdUnique 285 824letEIdKey = mkPreludeMiscIdUnique 286 825caseEIdKey = mkPreludeMiscIdUnique 287 826doEIdKey = mkPreludeMiscIdUnique 288 827compEIdKey = mkPreludeMiscIdUnique 289 828fromEIdKey = mkPreludeMiscIdUnique 290 829fromThenEIdKey = mkPreludeMiscIdUnique 291 830fromToEIdKey = mkPreludeMiscIdUnique 292 831fromThenToEIdKey = mkPreludeMiscIdUnique 293 832listEIdKey = mkPreludeMiscIdUnique 294 833sigEIdKey = mkPreludeMiscIdUnique 295 834recConEIdKey = mkPreludeMiscIdUnique 296 835recUpdEIdKey = mkPreludeMiscIdUnique 297 836staticEIdKey = mkPreludeMiscIdUnique 298 837unboundVarEIdKey = mkPreludeMiscIdUnique 299 838labelEIdKey = mkPreludeMiscIdUnique 300 839implicitParamVarEIdKey = mkPreludeMiscIdUnique 301 840mdoEIdKey = mkPreludeMiscIdUnique 302 841 842-- type FieldExp = ... 843fieldExpIdKey :: Unique 844fieldExpIdKey = mkPreludeMiscIdUnique 305 845 846-- data Body = ... 847guardedBIdKey, normalBIdKey :: Unique 848guardedBIdKey = mkPreludeMiscIdUnique 306 849normalBIdKey = mkPreludeMiscIdUnique 307 850 851-- data Guard = ... 852normalGEIdKey, patGEIdKey :: Unique 853normalGEIdKey = mkPreludeMiscIdUnique 308 854patGEIdKey = mkPreludeMiscIdUnique 309 855 856-- data Stmt = ... 857bindSIdKey, letSIdKey, noBindSIdKey, parSIdKey, recSIdKey :: Unique 858bindSIdKey = mkPreludeMiscIdUnique 310 859letSIdKey = mkPreludeMiscIdUnique 311 860noBindSIdKey = mkPreludeMiscIdUnique 312 861parSIdKey = mkPreludeMiscIdUnique 313 862recSIdKey = mkPreludeMiscIdUnique 314 863 864-- data Dec = ... 865funDIdKey, valDIdKey, dataDIdKey, newtypeDIdKey, tySynDIdKey, classDIdKey, 866 instanceWithOverlapDIdKey, instanceDIdKey, sigDIdKey, forImpDIdKey, 867 pragInlDIdKey, pragSpecDIdKey, pragSpecInlDIdKey, pragSpecInstDIdKey, 868 pragRuleDIdKey, pragAnnDIdKey, defaultSigDIdKey, dataFamilyDIdKey, 869 openTypeFamilyDIdKey, closedTypeFamilyDIdKey, dataInstDIdKey, 870 newtypeInstDIdKey, tySynInstDIdKey, standaloneDerivWithStrategyDIdKey, 871 infixLDIdKey, infixRDIdKey, infixNDIdKey, roleAnnotDIdKey, patSynDIdKey, 872 patSynSigDIdKey, pragCompleteDIdKey, implicitParamBindDIdKey, 873 kiSigDIdKey :: Unique 874funDIdKey = mkPreludeMiscIdUnique 320 875valDIdKey = mkPreludeMiscIdUnique 321 876dataDIdKey = mkPreludeMiscIdUnique 322 877newtypeDIdKey = mkPreludeMiscIdUnique 323 878tySynDIdKey = mkPreludeMiscIdUnique 324 879classDIdKey = mkPreludeMiscIdUnique 325 880instanceWithOverlapDIdKey = mkPreludeMiscIdUnique 326 881instanceDIdKey = mkPreludeMiscIdUnique 327 882sigDIdKey = mkPreludeMiscIdUnique 328 883forImpDIdKey = mkPreludeMiscIdUnique 329 884pragInlDIdKey = mkPreludeMiscIdUnique 330 885pragSpecDIdKey = mkPreludeMiscIdUnique 331 886pragSpecInlDIdKey = mkPreludeMiscIdUnique 332 887pragSpecInstDIdKey = mkPreludeMiscIdUnique 333 888pragRuleDIdKey = mkPreludeMiscIdUnique 334 889pragAnnDIdKey = mkPreludeMiscIdUnique 335 890dataFamilyDIdKey = mkPreludeMiscIdUnique 336 891openTypeFamilyDIdKey = mkPreludeMiscIdUnique 337 892dataInstDIdKey = mkPreludeMiscIdUnique 338 893newtypeInstDIdKey = mkPreludeMiscIdUnique 339 894tySynInstDIdKey = mkPreludeMiscIdUnique 340 895closedTypeFamilyDIdKey = mkPreludeMiscIdUnique 341 896infixLDIdKey = mkPreludeMiscIdUnique 342 897infixRDIdKey = mkPreludeMiscIdUnique 343 898infixNDIdKey = mkPreludeMiscIdUnique 344 899roleAnnotDIdKey = mkPreludeMiscIdUnique 345 900standaloneDerivWithStrategyDIdKey = mkPreludeMiscIdUnique 346 901defaultSigDIdKey = mkPreludeMiscIdUnique 347 902patSynDIdKey = mkPreludeMiscIdUnique 348 903patSynSigDIdKey = mkPreludeMiscIdUnique 349 904pragCompleteDIdKey = mkPreludeMiscIdUnique 350 905implicitParamBindDIdKey = mkPreludeMiscIdUnique 351 906kiSigDIdKey = mkPreludeMiscIdUnique 352 907 908-- type Cxt = ... 909cxtIdKey :: Unique 910cxtIdKey = mkPreludeMiscIdUnique 361 911 912-- data SourceUnpackedness = ... 913noSourceUnpackednessKey, sourceNoUnpackKey, sourceUnpackKey :: Unique 914noSourceUnpackednessKey = mkPreludeMiscIdUnique 362 915sourceNoUnpackKey = mkPreludeMiscIdUnique 363 916sourceUnpackKey = mkPreludeMiscIdUnique 364 917 918-- data SourceStrictness = ... 919noSourceStrictnessKey, sourceLazyKey, sourceStrictKey :: Unique 920noSourceStrictnessKey = mkPreludeMiscIdUnique 365 921sourceLazyKey = mkPreludeMiscIdUnique 366 922sourceStrictKey = mkPreludeMiscIdUnique 367 923 924-- data Con = ... 925normalCIdKey, recCIdKey, infixCIdKey, forallCIdKey, gadtCIdKey, 926 recGadtCIdKey :: Unique 927normalCIdKey = mkPreludeMiscIdUnique 368 928recCIdKey = mkPreludeMiscIdUnique 369 929infixCIdKey = mkPreludeMiscIdUnique 370 930forallCIdKey = mkPreludeMiscIdUnique 371 931gadtCIdKey = mkPreludeMiscIdUnique 372 932recGadtCIdKey = mkPreludeMiscIdUnique 373 933 934-- data Bang = ... 935bangIdKey :: Unique 936bangIdKey = mkPreludeMiscIdUnique 374 937 938-- type BangType = ... 939bangTKey :: Unique 940bangTKey = mkPreludeMiscIdUnique 375 941 942-- type VarBangType = ... 943varBangTKey :: Unique 944varBangTKey = mkPreludeMiscIdUnique 376 945 946-- data PatSynDir = ... 947unidirPatSynIdKey, implBidirPatSynIdKey, explBidirPatSynIdKey :: Unique 948unidirPatSynIdKey = mkPreludeMiscIdUnique 377 949implBidirPatSynIdKey = mkPreludeMiscIdUnique 378 950explBidirPatSynIdKey = mkPreludeMiscIdUnique 379 951 952-- data PatSynArgs = ... 953prefixPatSynIdKey, infixPatSynIdKey, recordPatSynIdKey :: Unique 954prefixPatSynIdKey = mkPreludeMiscIdUnique 380 955infixPatSynIdKey = mkPreludeMiscIdUnique 381 956recordPatSynIdKey = mkPreludeMiscIdUnique 382 957 958-- data Type = ... 959forallTIdKey, forallVisTIdKey, varTIdKey, conTIdKey, tupleTIdKey, 960 unboxedTupleTIdKey, unboxedSumTIdKey, arrowTIdKey, listTIdKey, appTIdKey, 961 appKindTIdKey, sigTIdKey, equalityTIdKey, litTIdKey, promotedTIdKey, 962 promotedTupleTIdKey, promotedNilTIdKey, promotedConsTIdKey, 963 wildCardTIdKey, implicitParamTIdKey, infixTIdKey :: Unique 964forallTIdKey = mkPreludeMiscIdUnique 390 965forallVisTIdKey = mkPreludeMiscIdUnique 391 966varTIdKey = mkPreludeMiscIdUnique 392 967conTIdKey = mkPreludeMiscIdUnique 393 968tupleTIdKey = mkPreludeMiscIdUnique 394 969unboxedTupleTIdKey = mkPreludeMiscIdUnique 395 970unboxedSumTIdKey = mkPreludeMiscIdUnique 396 971arrowTIdKey = mkPreludeMiscIdUnique 397 972listTIdKey = mkPreludeMiscIdUnique 398 973appTIdKey = mkPreludeMiscIdUnique 399 974appKindTIdKey = mkPreludeMiscIdUnique 400 975sigTIdKey = mkPreludeMiscIdUnique 401 976equalityTIdKey = mkPreludeMiscIdUnique 402 977litTIdKey = mkPreludeMiscIdUnique 403 978promotedTIdKey = mkPreludeMiscIdUnique 404 979promotedTupleTIdKey = mkPreludeMiscIdUnique 405 980promotedNilTIdKey = mkPreludeMiscIdUnique 406 981promotedConsTIdKey = mkPreludeMiscIdUnique 407 982wildCardTIdKey = mkPreludeMiscIdUnique 408 983implicitParamTIdKey = mkPreludeMiscIdUnique 409 984infixTIdKey = mkPreludeMiscIdUnique 410 985 986-- data TyLit = ... 987numTyLitIdKey, strTyLitIdKey :: Unique 988numTyLitIdKey = mkPreludeMiscIdUnique 411 989strTyLitIdKey = mkPreludeMiscIdUnique 412 990 991-- data TyVarBndr = ... 992plainTVIdKey, kindedTVIdKey :: Unique 993plainTVIdKey = mkPreludeMiscIdUnique 413 994kindedTVIdKey = mkPreludeMiscIdUnique 414 995 996-- data Role = ... 997nominalRIdKey, representationalRIdKey, phantomRIdKey, inferRIdKey :: Unique 998nominalRIdKey = mkPreludeMiscIdUnique 415 999representationalRIdKey = mkPreludeMiscIdUnique 416 1000phantomRIdKey = mkPreludeMiscIdUnique 417 1001inferRIdKey = mkPreludeMiscIdUnique 418 1002 1003-- data Kind = ... 1004varKIdKey, conKIdKey, tupleKIdKey, arrowKIdKey, listKIdKey, appKIdKey, 1005 starKIdKey, constraintKIdKey :: Unique 1006varKIdKey = mkPreludeMiscIdUnique 419 1007conKIdKey = mkPreludeMiscIdUnique 420 1008tupleKIdKey = mkPreludeMiscIdUnique 421 1009arrowKIdKey = mkPreludeMiscIdUnique 422 1010listKIdKey = mkPreludeMiscIdUnique 423 1011appKIdKey = mkPreludeMiscIdUnique 424 1012starKIdKey = mkPreludeMiscIdUnique 425 1013constraintKIdKey = mkPreludeMiscIdUnique 426 1014 1015-- data FamilyResultSig = ... 1016noSigIdKey, kindSigIdKey, tyVarSigIdKey :: Unique 1017noSigIdKey = mkPreludeMiscIdUnique 427 1018kindSigIdKey = mkPreludeMiscIdUnique 428 1019tyVarSigIdKey = mkPreludeMiscIdUnique 429 1020 1021-- data InjectivityAnn = ... 1022injectivityAnnIdKey :: Unique 1023injectivityAnnIdKey = mkPreludeMiscIdUnique 430 1024 1025-- data Callconv = ... 1026cCallIdKey, stdCallIdKey, cApiCallIdKey, primCallIdKey, 1027 javaScriptCallIdKey :: Unique 1028cCallIdKey = mkPreludeMiscIdUnique 431 1029stdCallIdKey = mkPreludeMiscIdUnique 432 1030cApiCallIdKey = mkPreludeMiscIdUnique 433 1031primCallIdKey = mkPreludeMiscIdUnique 434 1032javaScriptCallIdKey = mkPreludeMiscIdUnique 435 1033 1034-- data Safety = ... 1035unsafeIdKey, safeIdKey, interruptibleIdKey :: Unique 1036unsafeIdKey = mkPreludeMiscIdUnique 440 1037safeIdKey = mkPreludeMiscIdUnique 441 1038interruptibleIdKey = mkPreludeMiscIdUnique 442 1039 1040-- data FunDep = ... 1041funDepIdKey :: Unique 1042funDepIdKey = mkPreludeMiscIdUnique 445 1043 1044-- data TySynEqn = ... 1045tySynEqnIdKey :: Unique 1046tySynEqnIdKey = mkPreludeMiscIdUnique 460 1047 1048-- quasiquoting 1049quoteExpKey, quotePatKey, quoteDecKey, quoteTypeKey :: Unique 1050quoteExpKey = mkPreludeMiscIdUnique 470 1051quotePatKey = mkPreludeMiscIdUnique 471 1052quoteDecKey = mkPreludeMiscIdUnique 472 1053quoteTypeKey = mkPreludeMiscIdUnique 473 1054 1055-- data RuleBndr = ... 1056ruleVarIdKey, typedRuleVarIdKey :: Unique 1057ruleVarIdKey = mkPreludeMiscIdUnique 480 1058typedRuleVarIdKey = mkPreludeMiscIdUnique 481 1059 1060-- data AnnTarget = ... 1061valueAnnotationIdKey, typeAnnotationIdKey, moduleAnnotationIdKey :: Unique 1062valueAnnotationIdKey = mkPreludeMiscIdUnique 490 1063typeAnnotationIdKey = mkPreludeMiscIdUnique 491 1064moduleAnnotationIdKey = mkPreludeMiscIdUnique 492 1065 1066-- type DerivPred = ... 1067derivClauseIdKey :: Unique 1068derivClauseIdKey = mkPreludeMiscIdUnique 493 1069 1070-- data DerivStrategy = ... 1071stockStrategyIdKey, anyclassStrategyIdKey, newtypeStrategyIdKey, 1072 viaStrategyIdKey :: Unique 1073stockStrategyIdKey = mkPreludeDataConUnique 494 1074anyclassStrategyIdKey = mkPreludeDataConUnique 495 1075newtypeStrategyIdKey = mkPreludeDataConUnique 496 1076viaStrategyIdKey = mkPreludeDataConUnique 497 1077 1078{- 1079************************************************************************ 1080* * 1081 RdrNames 1082* * 1083************************************************************************ 1084-} 1085 1086lift_RDR, liftTyped_RDR, mkNameG_dRDR, mkNameG_vRDR :: RdrName 1087lift_RDR = nameRdrName liftName 1088liftTyped_RDR = nameRdrName liftTypedName 1089mkNameG_dRDR = nameRdrName mkNameG_dName 1090mkNameG_vRDR = nameRdrName mkNameG_vName 1091 1092-- data Exp = ... 1093conE_RDR, litE_RDR, appE_RDR, infixApp_RDR :: RdrName 1094conE_RDR = nameRdrName conEName 1095litE_RDR = nameRdrName litEName 1096appE_RDR = nameRdrName appEName 1097infixApp_RDR = nameRdrName infixAppName 1098 1099-- data Lit = ... 1100stringL_RDR, intPrimL_RDR, wordPrimL_RDR, floatPrimL_RDR, 1101 doublePrimL_RDR, stringPrimL_RDR, charPrimL_RDR :: RdrName 1102stringL_RDR = nameRdrName stringLName 1103intPrimL_RDR = nameRdrName intPrimLName 1104wordPrimL_RDR = nameRdrName wordPrimLName 1105floatPrimL_RDR = nameRdrName floatPrimLName 1106doublePrimL_RDR = nameRdrName doublePrimLName 1107stringPrimL_RDR = nameRdrName stringPrimLName 1108charPrimL_RDR = nameRdrName charPrimLName 1109