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