-- %************************************************************************
-- %*                                                                   *
--              The known-key names for Template Haskell
-- %*                                                                   *
-- %************************************************************************

module GHC.Builtin.Names.TH where

import GHC.Prelude ()

import GHC.Builtin.Names( mk_known_key_name )
import GHC.Unit.Types
import GHC.Unit.Module.Name
import GHC.Types.Name( Name )
import GHC.Types.Name.Occurrence( tcName, clsName, dataName, varName )
import GHC.Types.Name.Reader( RdrName, nameRdrName )
import GHC.Types.Unique
import GHC.Builtin.Uniques
import GHC.Data.FastString

-- To add a name, do three things
--
--  1) Allocate a key
--  2) Make a "Name"
--  3) Add the name to templateHaskellNames

templateHaskellNames :: [Name]
-- The names that are implicitly mentioned by ``bracket''
-- Should stay in sync with the import list of GHC.HsToCore.Quote

templateHaskellNames :: [Name]
templateHaskellNames = [
    Name
returnQName, Name
bindQName, Name
sequenceQName, Name
newNameName, Name
liftName, Name
liftTypedName,
    Name
mkNameName, Name
mkNameG_vName, Name
mkNameG_dName, Name
mkNameG_tcName, Name
mkNameLName,
    Name
mkNameSName,
    Name
mkModNameName,
    Name
liftStringName,
    Name
unTypeName, Name
unTypeCodeName,
    Name
unsafeCodeCoerceName,

    -- Lit
    Name
charLName, Name
stringLName, Name
integerLName, Name
intPrimLName, Name
wordPrimLName,
    Name
floatPrimLName, Name
doublePrimLName, Name
rationalLName, Name
stringPrimLName,
    Name
charPrimLName,
    -- Pat
    Name
litPName, Name
varPName, Name
tupPName, Name
unboxedTupPName, Name
unboxedSumPName,
    Name
conPName, Name
tildePName, Name
bangPName, Name
infixPName,
    Name
asPName, Name
wildPName, Name
recPName, Name
listPName, Name
sigPName, Name
viewPName,
    -- FieldPat
    Name
fieldPatName,
    -- Match
    Name
matchName,
    -- Clause
    Name
clauseName,
    -- Exp
    Name
varEName, Name
conEName, Name
litEName, Name
appEName, Name
appTypeEName, Name
infixEName,
    Name
infixAppName, Name
sectionLName, Name
sectionRName, Name
lamEName, Name
lamCaseEName,
    Name
tupEName, Name
unboxedTupEName, Name
unboxedSumEName,
    Name
condEName, Name
multiIfEName, Name
letEName, Name
caseEName, Name
doEName, Name
mdoEName, Name
compEName,
    Name
fromEName, Name
fromThenEName, Name
fromToEName, Name
fromThenToEName,
    Name
listEName, Name
sigEName, Name
recConEName, Name
recUpdEName, Name
staticEName, Name
unboundVarEName,
    Name
labelEName, Name
implicitParamVarEName, Name
getFieldEName, Name
projectionEName,
    -- FieldExp
    Name
fieldExpName,
    -- Body
    Name
guardedBName, Name
normalBName,
    -- Guard
    Name
normalGEName, Name
patGEName,
    -- Stmt
    Name
bindSName, Name
letSName, Name
noBindSName, Name
parSName, Name
recSName,
    -- Dec
    Name
funDName, Name
valDName, Name
dataDName, Name
newtypeDName, Name
tySynDName,
    Name
classDName, Name
instanceWithOverlapDName,
    Name
standaloneDerivWithStrategyDName, Name
sigDName, Name
kiSigDName, Name
forImpDName,
    Name
pragInlDName, Name
pragSpecDName, Name
pragSpecInlDName, Name
pragSpecInstDName,
    Name
pragRuleDName, Name
pragCompleteDName, Name
pragAnnDName, Name
defaultSigDName,
    Name
dataFamilyDName, Name
openTypeFamilyDName, Name
closedTypeFamilyDName,
    Name
dataInstDName, Name
newtypeInstDName, Name
tySynInstDName,
    Name
infixLDName, Name
infixRDName, Name
infixNDName,
    Name
roleAnnotDName, Name
patSynDName, Name
patSynSigDName,
    Name
implicitParamBindDName,
    -- Cxt
    Name
cxtName,

    -- SourceUnpackedness
    Name
noSourceUnpackednessName, Name
sourceNoUnpackName, Name
sourceUnpackName,
    -- SourceStrictness
    Name
noSourceStrictnessName, Name
sourceLazyName, Name
sourceStrictName,
    -- Con
    Name
normalCName, Name
recCName, Name
infixCName, Name
forallCName, Name
gadtCName, Name
recGadtCName,
    -- Bang
    Name
bangName,
    -- BangType
    Name
bangTypeName,
    -- VarBangType
    Name
varBangTypeName,
    -- PatSynDir (for pattern synonyms)
    Name
unidirPatSynName, Name
implBidirPatSynName, Name
explBidirPatSynName,
    -- PatSynArgs (for pattern synonyms)
    Name
prefixPatSynName, Name
infixPatSynName, Name
recordPatSynName,
    -- Type
    Name
forallTName, Name
forallVisTName, Name
varTName, Name
conTName, Name
infixTName, Name
appTName,
    Name
appKindTName, Name
equalityTName, Name
tupleTName, Name
unboxedTupleTName,
    Name
unboxedSumTName, Name
arrowTName, Name
mulArrowTName, Name
listTName, Name
sigTName, Name
litTName,
    Name
promotedTName, Name
promotedTupleTName, Name
promotedNilTName, Name
promotedConsTName,
    Name
wildCardTName, Name
implicitParamTName,
    -- TyLit
    Name
numTyLitName, Name
strTyLitName, Name
charTyLitName,
    -- TyVarBndr
    Name
plainTVName, Name
kindedTVName,
    Name
plainInvisTVName, Name
kindedInvisTVName,
    -- Specificity
    Name
specifiedSpecName, Name
inferredSpecName,
    -- Role
    Name
nominalRName, Name
representationalRName, Name
phantomRName, Name
inferRName,
    -- Kind
    Name
starKName, Name
constraintKName,
    -- FamilyResultSig
    Name
noSigName, Name
kindSigName, Name
tyVarSigName,
    -- InjectivityAnn
    Name
injectivityAnnName,
    -- Callconv
    Name
cCallName, Name
stdCallName, Name
cApiCallName, Name
primCallName, Name
javaScriptCallName,
    -- Safety
    Name
unsafeName,
    Name
safeName,
    Name
interruptibleName,
    -- Inline
    Name
noInlineDataConName, Name
inlineDataConName, Name
inlinableDataConName,
    -- RuleMatch
    Name
conLikeDataConName, Name
funLikeDataConName,
    -- Phases
    Name
allPhasesDataConName, Name
fromPhaseDataConName, Name
beforePhaseDataConName,
    -- Overlap
    Name
overlappableDataConName, Name
overlappingDataConName, Name
overlapsDataConName,
    Name
incoherentDataConName,
    -- DerivStrategy
    Name
stockStrategyName, Name
anyclassStrategyName,
    Name
newtypeStrategyName, Name
viaStrategyName,
    -- RuleBndr
    Name
ruleVarName, Name
typedRuleVarName,
    -- FunDep
    Name
funDepName,
    -- TySynEqn
    Name
tySynEqnName,
    -- AnnTarget
    Name
valueAnnotationName, Name
typeAnnotationName, Name
moduleAnnotationName,
    -- DerivClause
    Name
derivClauseName,

    -- The type classes
    Name
liftClassName, Name
quoteClassName,

    -- And the tycons
    Name
qTyConName, Name
nameTyConName, Name
patTyConName, Name
fieldPatTyConName, Name
matchTyConName,
    Name
expQTyConName, Name
fieldExpTyConName, Name
predTyConName,
    Name
stmtTyConName,  Name
decsTyConName, Name
conTyConName, Name
bangTypeTyConName,
    Name
varBangTypeTyConName, Name
typeQTyConName, Name
expTyConName, Name
decTyConName,
    Name
typeTyConName, Name
tyVarBndrUnitTyConName, Name
tyVarBndrSpecTyConName, Name
clauseTyConName,
    Name
patQTyConName, Name
funDepTyConName, Name
decsQTyConName,
    Name
ruleBndrTyConName, Name
tySynEqnTyConName,
    Name
roleTyConName, Name
codeTyConName, Name
injAnnTyConName, Name
kindTyConName,
    Name
overlapTyConName, Name
derivClauseTyConName, Name
derivStrategyTyConName,
    Name
modNameTyConName,

    -- Quasiquoting
    Name
quoteDecName, Name
quoteTypeName, Name
quoteExpName, Name
quotePatName]

thSyn, thLib, qqLib :: Module
thSyn :: Module
thSyn = FastString -> Module
mkTHModule (String -> FastString
fsLit String
"Language.Haskell.TH.Syntax")
thLib :: Module
thLib = FastString -> Module
mkTHModule (String -> FastString
fsLit String
"Language.Haskell.TH.Lib.Internal")
qqLib :: Module
qqLib = FastString -> Module
mkTHModule (String -> FastString
fsLit String
"Language.Haskell.TH.Quote")

mkTHModule :: FastString -> Module
mkTHModule :: FastString -> Module
mkTHModule FastString
m = forall u. u -> ModuleName -> GenModule u
mkModule Unit
thUnit (FastString -> ModuleName
mkModuleNameFS FastString
m)

libFun, libTc, thFun, thTc, thCls, thCon, qqFun :: FastString -> Unique -> Name
libFun :: FastString -> Unique -> Name
libFun = NameSpace -> Module -> FastString -> Unique -> Name
mk_known_key_name NameSpace
varName  Module
thLib
libTc :: FastString -> Unique -> Name
libTc  = NameSpace -> Module -> FastString -> Unique -> Name
mk_known_key_name NameSpace
tcName   Module
thLib
thFun :: FastString -> Unique -> Name
thFun  = NameSpace -> Module -> FastString -> Unique -> Name
mk_known_key_name NameSpace
varName  Module
thSyn
thTc :: FastString -> Unique -> Name
thTc   = NameSpace -> Module -> FastString -> Unique -> Name
mk_known_key_name NameSpace
tcName   Module
thSyn
thCls :: FastString -> Unique -> Name
thCls  = NameSpace -> Module -> FastString -> Unique -> Name
mk_known_key_name NameSpace
clsName  Module
thSyn
thCon :: FastString -> Unique -> Name
thCon  = NameSpace -> Module -> FastString -> Unique -> Name
mk_known_key_name NameSpace
dataName Module
thSyn
qqFun :: FastString -> Unique -> Name
qqFun  = NameSpace -> Module -> FastString -> Unique -> Name
mk_known_key_name NameSpace
varName  Module
qqLib

-------------------- TH.Syntax -----------------------
liftClassName :: Name
liftClassName :: Name
liftClassName = FastString -> Unique -> Name
thCls (String -> FastString
fsLit String
"Lift") Unique
liftClassKey

quoteClassName :: Name
quoteClassName :: Name
quoteClassName = FastString -> Unique -> Name
thCls (String -> FastString
fsLit String
"Quote") Unique
quoteClassKey

qTyConName, nameTyConName, fieldExpTyConName, patTyConName,
    fieldPatTyConName, expTyConName, decTyConName, typeTyConName,
    matchTyConName, clauseTyConName, funDepTyConName, predTyConName,
    codeTyConName, injAnnTyConName, overlapTyConName, decsTyConName,
    modNameTyConName :: Name
qTyConName :: Name
qTyConName             = FastString -> Unique -> Name
thTc (String -> FastString
fsLit String
"Q")              Unique
qTyConKey
nameTyConName :: Name
nameTyConName          = FastString -> Unique -> Name
thTc (String -> FastString
fsLit String
"Name")           Unique
nameTyConKey
fieldExpTyConName :: Name
fieldExpTyConName      = FastString -> Unique -> Name
thTc (String -> FastString
fsLit String
"FieldExp")       Unique
fieldExpTyConKey
patTyConName :: Name
patTyConName           = FastString -> Unique -> Name
thTc (String -> FastString
fsLit String
"Pat")            Unique
patTyConKey
fieldPatTyConName :: Name
fieldPatTyConName      = FastString -> Unique -> Name
thTc (String -> FastString
fsLit String
"FieldPat")       Unique
fieldPatTyConKey
expTyConName :: Name
expTyConName           = FastString -> Unique -> Name
thTc (String -> FastString
fsLit String
"Exp")            Unique
expTyConKey
decTyConName :: Name
decTyConName           = FastString -> Unique -> Name
thTc (String -> FastString
fsLit String
"Dec")            Unique
decTyConKey
decsTyConName :: Name
decsTyConName          = FastString -> Unique -> Name
libTc (String -> FastString
fsLit String
"Decs")           Unique
decsTyConKey
typeTyConName :: Name
typeTyConName          = FastString -> Unique -> Name
thTc (String -> FastString
fsLit String
"Type")           Unique
typeTyConKey
matchTyConName :: Name
matchTyConName         = FastString -> Unique -> Name
thTc (String -> FastString
fsLit String
"Match")          Unique
matchTyConKey
clauseTyConName :: Name
clauseTyConName        = FastString -> Unique -> Name
thTc (String -> FastString
fsLit String
"Clause")         Unique
clauseTyConKey
funDepTyConName :: Name
funDepTyConName        = FastString -> Unique -> Name
thTc (String -> FastString
fsLit String
"FunDep")         Unique
funDepTyConKey
predTyConName :: Name
predTyConName          = FastString -> Unique -> Name
thTc (String -> FastString
fsLit String
"Pred")           Unique
predTyConKey
codeTyConName :: Name
codeTyConName          = FastString -> Unique -> Name
thTc (String -> FastString
fsLit String
"Code")           Unique
codeTyConKey
injAnnTyConName :: Name
injAnnTyConName        = FastString -> Unique -> Name
thTc (String -> FastString
fsLit String
"InjectivityAnn") Unique
injAnnTyConKey
overlapTyConName :: Name
overlapTyConName       = FastString -> Unique -> Name
thTc (String -> FastString
fsLit String
"Overlap")        Unique
overlapTyConKey
modNameTyConName :: Name
modNameTyConName       = FastString -> Unique -> Name
thTc (String -> FastString
fsLit String
"ModName")        Unique
modNameTyConKey

returnQName, bindQName, sequenceQName, newNameName, liftName,
    mkNameName, mkNameG_vName, mkNameG_dName, mkNameG_tcName,
    mkNameLName, mkNameSName, liftStringName, unTypeName, unTypeCodeName,
    unsafeCodeCoerceName, liftTypedName, mkModNameName :: Name
returnQName :: Name
returnQName    = FastString -> Unique -> Name
thFun (String -> FastString
fsLit String
"returnQ")   Unique
returnQIdKey
bindQName :: Name
bindQName      = FastString -> Unique -> Name
thFun (String -> FastString
fsLit String
"bindQ")     Unique
bindQIdKey
sequenceQName :: Name
sequenceQName  = FastString -> Unique -> Name
thFun (String -> FastString
fsLit String
"sequenceQ") Unique
sequenceQIdKey
newNameName :: Name
newNameName    = FastString -> Unique -> Name
thFun (String -> FastString
fsLit String
"newName")   Unique
newNameIdKey
liftName :: Name
liftName       = FastString -> Unique -> Name
thFun (String -> FastString
fsLit String
"lift")      Unique
liftIdKey
liftStringName :: Name
liftStringName = FastString -> Unique -> Name
thFun (String -> FastString
fsLit String
"liftString")  Unique
liftStringIdKey
mkNameName :: Name
mkNameName     = FastString -> Unique -> Name
thFun (String -> FastString
fsLit String
"mkName")     Unique
mkNameIdKey
mkNameG_vName :: Name
mkNameG_vName  = FastString -> Unique -> Name
thFun (String -> FastString
fsLit String
"mkNameG_v")  Unique
mkNameG_vIdKey
mkNameG_dName :: Name
mkNameG_dName  = FastString -> Unique -> Name
thFun (String -> FastString
fsLit String
"mkNameG_d")  Unique
mkNameG_dIdKey
mkNameG_tcName :: Name
mkNameG_tcName = FastString -> Unique -> Name
thFun (String -> FastString
fsLit String
"mkNameG_tc") Unique
mkNameG_tcIdKey
mkNameLName :: Name
mkNameLName    = FastString -> Unique -> Name
thFun (String -> FastString
fsLit String
"mkNameL")    Unique
mkNameLIdKey
mkNameSName :: Name
mkNameSName    = FastString -> Unique -> Name
thFun (String -> FastString
fsLit String
"mkNameS")    Unique
mkNameSIdKey
mkModNameName :: Name
mkModNameName  = FastString -> Unique -> Name
thFun (String -> FastString
fsLit String
"mkModName")  Unique
mkModNameIdKey
unTypeName :: Name
unTypeName     = FastString -> Unique -> Name
thFun (String -> FastString
fsLit String
"unType")     Unique
unTypeIdKey
unTypeCodeName :: Name
unTypeCodeName    = FastString -> Unique -> Name
thFun (String -> FastString
fsLit String
"unTypeCode") Unique
unTypeCodeIdKey
unsafeCodeCoerceName :: Name
unsafeCodeCoerceName = FastString -> Unique -> Name
thFun (String -> FastString
fsLit String
"unsafeCodeCoerce") Unique
unsafeCodeCoerceIdKey
liftTypedName :: Name
liftTypedName = FastString -> Unique -> Name
thFun (String -> FastString
fsLit String
"liftTyped") Unique
liftTypedIdKey


-------------------- TH.Lib -----------------------
-- data Lit = ...
charLName, stringLName, integerLName, intPrimLName, wordPrimLName,
    floatPrimLName, doublePrimLName, rationalLName, stringPrimLName,
    charPrimLName :: Name
charLName :: Name
charLName       = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"charL")       Unique
charLIdKey
stringLName :: Name
stringLName     = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"stringL")     Unique
stringLIdKey
integerLName :: Name
integerLName    = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"integerL")    Unique
integerLIdKey
intPrimLName :: Name
intPrimLName    = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"intPrimL")    Unique
intPrimLIdKey
wordPrimLName :: Name
wordPrimLName   = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"wordPrimL")   Unique
wordPrimLIdKey
floatPrimLName :: Name
floatPrimLName  = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"floatPrimL")  Unique
floatPrimLIdKey
doublePrimLName :: Name
doublePrimLName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"doublePrimL") Unique
doublePrimLIdKey
rationalLName :: Name
rationalLName   = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"rationalL")     Unique
rationalLIdKey
stringPrimLName :: Name
stringPrimLName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"stringPrimL") Unique
stringPrimLIdKey
charPrimLName :: Name
charPrimLName   = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"charPrimL")   Unique
charPrimLIdKey

-- data Pat = ...
litPName, varPName, tupPName, unboxedTupPName, unboxedSumPName, conPName,
    infixPName, tildePName, bangPName, asPName, wildPName, recPName, listPName,
    sigPName, viewPName :: Name
litPName :: Name
litPName   = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"litP")   Unique
litPIdKey
varPName :: Name
varPName   = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"varP")   Unique
varPIdKey
tupPName :: Name
tupPName   = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"tupP")   Unique
tupPIdKey
unboxedTupPName :: Name
unboxedTupPName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"unboxedTupP") Unique
unboxedTupPIdKey
unboxedSumPName :: Name
unboxedSumPName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"unboxedSumP") Unique
unboxedSumPIdKey
conPName :: Name
conPName   = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"conP")   Unique
conPIdKey
infixPName :: Name
infixPName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"infixP") Unique
infixPIdKey
tildePName :: Name
tildePName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"tildeP") Unique
tildePIdKey
bangPName :: Name
bangPName  = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"bangP")  Unique
bangPIdKey
asPName :: Name
asPName    = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"asP")    Unique
asPIdKey
wildPName :: Name
wildPName  = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"wildP")  Unique
wildPIdKey
recPName :: Name
recPName   = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"recP")   Unique
recPIdKey
listPName :: Name
listPName  = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"listP")  Unique
listPIdKey
sigPName :: Name
sigPName   = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"sigP")   Unique
sigPIdKey
viewPName :: Name
viewPName  = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"viewP")  Unique
viewPIdKey

-- type FieldPat = ...
fieldPatName :: Name
fieldPatName :: Name
fieldPatName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"fieldPat") Unique
fieldPatIdKey

-- data Match = ...
matchName :: Name
matchName :: Name
matchName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"match") Unique
matchIdKey

-- data Clause = ...
clauseName :: Name
clauseName :: Name
clauseName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"clause") Unique
clauseIdKey

-- data Exp = ...
varEName, conEName, litEName, appEName, appTypeEName, infixEName, infixAppName,
    sectionLName, sectionRName, lamEName, lamCaseEName, tupEName,
    unboxedTupEName, unboxedSumEName, condEName, multiIfEName, letEName,
    caseEName, doEName, mdoEName, compEName, staticEName, unboundVarEName,
    labelEName, implicitParamVarEName, getFieldEName, projectionEName :: Name
varEName :: Name
varEName              = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"varE")              Unique
varEIdKey
conEName :: Name
conEName              = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"conE")              Unique
conEIdKey
litEName :: Name
litEName              = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"litE")              Unique
litEIdKey
appEName :: Name
appEName              = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"appE")              Unique
appEIdKey
appTypeEName :: Name
appTypeEName          = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"appTypeE")          Unique
appTypeEIdKey
infixEName :: Name
infixEName            = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"infixE")            Unique
infixEIdKey
infixAppName :: Name
infixAppName          = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"infixApp")          Unique
infixAppIdKey
sectionLName :: Name
sectionLName          = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"sectionL")          Unique
sectionLIdKey
sectionRName :: Name
sectionRName          = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"sectionR")          Unique
sectionRIdKey
lamEName :: Name
lamEName              = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"lamE")              Unique
lamEIdKey
lamCaseEName :: Name
lamCaseEName          = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"lamCaseE")          Unique
lamCaseEIdKey
tupEName :: Name
tupEName              = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"tupE")              Unique
tupEIdKey
unboxedTupEName :: Name
unboxedTupEName       = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"unboxedTupE")       Unique
unboxedTupEIdKey
unboxedSumEName :: Name
unboxedSumEName       = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"unboxedSumE")       Unique
unboxedSumEIdKey
condEName :: Name
condEName             = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"condE")             Unique
condEIdKey
multiIfEName :: Name
multiIfEName          = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"multiIfE")          Unique
multiIfEIdKey
letEName :: Name
letEName              = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"letE")              Unique
letEIdKey
caseEName :: Name
caseEName             = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"caseE")             Unique
caseEIdKey
doEName :: Name
doEName               = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"doE")               Unique
doEIdKey
mdoEName :: Name
mdoEName              = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"mdoE")              Unique
mdoEIdKey
compEName :: Name
compEName             = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"compE")             Unique
compEIdKey
-- ArithSeq skips a level
fromEName, fromThenEName, fromToEName, fromThenToEName :: Name
fromEName :: Name
fromEName             = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"fromE")             Unique
fromEIdKey
fromThenEName :: Name
fromThenEName         = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"fromThenE")         Unique
fromThenEIdKey
fromToEName :: Name
fromToEName           = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"fromToE")           Unique
fromToEIdKey
fromThenToEName :: Name
fromThenToEName       = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"fromThenToE")       Unique
fromThenToEIdKey
-- end ArithSeq
listEName, sigEName, recConEName, recUpdEName :: Name
listEName :: Name
listEName             = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"listE")             Unique
listEIdKey
sigEName :: Name
sigEName              = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"sigE")              Unique
sigEIdKey
recConEName :: Name
recConEName           = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"recConE")           Unique
recConEIdKey
recUpdEName :: Name
recUpdEName           = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"recUpdE")           Unique
recUpdEIdKey
staticEName :: Name
staticEName           = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"staticE")           Unique
staticEIdKey
unboundVarEName :: Name
unboundVarEName       = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"unboundVarE")       Unique
unboundVarEIdKey
labelEName :: Name
labelEName            = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"labelE")            Unique
labelEIdKey
implicitParamVarEName :: Name
implicitParamVarEName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"implicitParamVarE") Unique
implicitParamVarEIdKey
getFieldEName :: Name
getFieldEName         = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"getFieldE")         Unique
getFieldEIdKey
projectionEName :: Name
projectionEName       = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"projectionE")       Unique
projectionEIdKey

-- type FieldExp = ...
fieldExpName :: Name
fieldExpName :: Name
fieldExpName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"fieldExp") Unique
fieldExpIdKey

-- data Body = ...
guardedBName, normalBName :: Name
guardedBName :: Name
guardedBName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"guardedB") Unique
guardedBIdKey
normalBName :: Name
normalBName  = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"normalB")  Unique
normalBIdKey

-- data Guard = ...
normalGEName, patGEName :: Name
normalGEName :: Name
normalGEName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"normalGE") Unique
normalGEIdKey
patGEName :: Name
patGEName    = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"patGE")    Unique
patGEIdKey

-- data Stmt = ...
bindSName, letSName, noBindSName, parSName, recSName :: Name
bindSName :: Name
bindSName   = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"bindS")   Unique
bindSIdKey
letSName :: Name
letSName    = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"letS")    Unique
letSIdKey
noBindSName :: Name
noBindSName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"noBindS") Unique
noBindSIdKey
parSName :: Name
parSName    = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"parS")    Unique
parSIdKey
recSName :: Name
recSName    = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"recS")    Unique
recSIdKey

-- data Dec = ...
funDName, valDName, dataDName, newtypeDName, tySynDName, classDName,
    instanceWithOverlapDName, sigDName, kiSigDName, forImpDName, pragInlDName,
    pragSpecDName, pragSpecInlDName, pragSpecInstDName, pragRuleDName,
    pragAnnDName, standaloneDerivWithStrategyDName, defaultSigDName,
    dataInstDName, newtypeInstDName, tySynInstDName, dataFamilyDName,
    openTypeFamilyDName, closedTypeFamilyDName, infixLDName, infixRDName,
    infixNDName, roleAnnotDName, patSynDName, patSynSigDName,
    pragCompleteDName, implicitParamBindDName :: Name
funDName :: Name
funDName                         = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"funD")                         Unique
funDIdKey
valDName :: Name
valDName                         = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"valD")                         Unique
valDIdKey
dataDName :: Name
dataDName                        = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"dataD")                        Unique
dataDIdKey
newtypeDName :: Name
newtypeDName                     = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"newtypeD")                     Unique
newtypeDIdKey
tySynDName :: Name
tySynDName                       = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"tySynD")                       Unique
tySynDIdKey
classDName :: Name
classDName                       = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"classD")                       Unique
classDIdKey
instanceWithOverlapDName :: Name
instanceWithOverlapDName         = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"instanceWithOverlapD")         Unique
instanceWithOverlapDIdKey
standaloneDerivWithStrategyDName :: Name
standaloneDerivWithStrategyDName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"standaloneDerivWithStrategyD") Unique
standaloneDerivWithStrategyDIdKey
sigDName :: Name
sigDName                         = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"sigD")                         Unique
sigDIdKey
kiSigDName :: Name
kiSigDName                       = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"kiSigD")                       Unique
kiSigDIdKey
defaultSigDName :: Name
defaultSigDName                  = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"defaultSigD")                  Unique
defaultSigDIdKey
forImpDName :: Name
forImpDName                      = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"forImpD")                      Unique
forImpDIdKey
pragInlDName :: Name
pragInlDName                     = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"pragInlD")                     Unique
pragInlDIdKey
pragSpecDName :: Name
pragSpecDName                    = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"pragSpecD")                    Unique
pragSpecDIdKey
pragSpecInlDName :: Name
pragSpecInlDName                 = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"pragSpecInlD")                 Unique
pragSpecInlDIdKey
pragSpecInstDName :: Name
pragSpecInstDName                = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"pragSpecInstD")                Unique
pragSpecInstDIdKey
pragRuleDName :: Name
pragRuleDName                    = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"pragRuleD")                    Unique
pragRuleDIdKey
pragCompleteDName :: Name
pragCompleteDName                = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"pragCompleteD")                Unique
pragCompleteDIdKey
pragAnnDName :: Name
pragAnnDName                     = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"pragAnnD")                     Unique
pragAnnDIdKey
dataInstDName :: Name
dataInstDName                    = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"dataInstD")                    Unique
dataInstDIdKey
newtypeInstDName :: Name
newtypeInstDName                 = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"newtypeInstD")                 Unique
newtypeInstDIdKey
tySynInstDName :: Name
tySynInstDName                   = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"tySynInstD")                   Unique
tySynInstDIdKey
openTypeFamilyDName :: Name
openTypeFamilyDName              = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"openTypeFamilyD")              Unique
openTypeFamilyDIdKey
closedTypeFamilyDName :: Name
closedTypeFamilyDName            = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"closedTypeFamilyD")            Unique
closedTypeFamilyDIdKey
dataFamilyDName :: Name
dataFamilyDName                  = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"dataFamilyD")                  Unique
dataFamilyDIdKey
infixLDName :: Name
infixLDName                      = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"infixLD")                      Unique
infixLDIdKey
infixRDName :: Name
infixRDName                      = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"infixRD")                      Unique
infixRDIdKey
infixNDName :: Name
infixNDName                      = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"infixND")                      Unique
infixNDIdKey
roleAnnotDName :: Name
roleAnnotDName                   = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"roleAnnotD")                   Unique
roleAnnotDIdKey
patSynDName :: Name
patSynDName                      = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"patSynD")                      Unique
patSynDIdKey
patSynSigDName :: Name
patSynSigDName                   = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"patSynSigD")                   Unique
patSynSigDIdKey
implicitParamBindDName :: Name
implicitParamBindDName           = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"implicitParamBindD")           Unique
implicitParamBindDIdKey

-- type Ctxt = ...
cxtName :: Name
cxtName :: Name
cxtName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"cxt") Unique
cxtIdKey

-- data SourceUnpackedness = ...
noSourceUnpackednessName, sourceNoUnpackName, sourceUnpackName :: Name
noSourceUnpackednessName :: Name
noSourceUnpackednessName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"noSourceUnpackedness") Unique
noSourceUnpackednessKey
sourceNoUnpackName :: Name
sourceNoUnpackName       = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"sourceNoUnpack")       Unique
sourceNoUnpackKey
sourceUnpackName :: Name
sourceUnpackName         = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"sourceUnpack")         Unique
sourceUnpackKey

-- data SourceStrictness = ...
noSourceStrictnessName, sourceLazyName, sourceStrictName :: Name
noSourceStrictnessName :: Name
noSourceStrictnessName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"noSourceStrictness") Unique
noSourceStrictnessKey
sourceLazyName :: Name
sourceLazyName         = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"sourceLazy")         Unique
sourceLazyKey
sourceStrictName :: Name
sourceStrictName       = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"sourceStrict")       Unique
sourceStrictKey

-- data Con = ...
normalCName, recCName, infixCName, forallCName, gadtCName, recGadtCName :: Name
normalCName :: Name
normalCName  = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"normalC" ) Unique
normalCIdKey
recCName :: Name
recCName     = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"recC"    ) Unique
recCIdKey
infixCName :: Name
infixCName   = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"infixC"  ) Unique
infixCIdKey
forallCName :: Name
forallCName  = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"forallC" ) Unique
forallCIdKey
gadtCName :: Name
gadtCName    = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"gadtC"   ) Unique
gadtCIdKey
recGadtCName :: Name
recGadtCName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"recGadtC") Unique
recGadtCIdKey

-- data Bang = ...
bangName :: Name
bangName :: Name
bangName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"bang") Unique
bangIdKey

-- type BangType = ...
bangTypeName :: Name
bangTypeName :: Name
bangTypeName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"bangType") Unique
bangTKey

-- type VarBangType = ...
varBangTypeName :: Name
varBangTypeName :: Name
varBangTypeName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"varBangType") Unique
varBangTKey

-- data PatSynDir = ...
unidirPatSynName, implBidirPatSynName, explBidirPatSynName :: Name
unidirPatSynName :: Name
unidirPatSynName    = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"unidir")    Unique
unidirPatSynIdKey
implBidirPatSynName :: Name
implBidirPatSynName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"implBidir") Unique
implBidirPatSynIdKey
explBidirPatSynName :: Name
explBidirPatSynName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"explBidir") Unique
explBidirPatSynIdKey

-- data PatSynArgs = ...
prefixPatSynName, infixPatSynName, recordPatSynName :: Name
prefixPatSynName :: Name
prefixPatSynName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"prefixPatSyn") Unique
prefixPatSynIdKey
infixPatSynName :: Name
infixPatSynName  = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"infixPatSyn")  Unique
infixPatSynIdKey
recordPatSynName :: Name
recordPatSynName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"recordPatSyn") Unique
recordPatSynIdKey

-- data Type = ...
forallTName, forallVisTName, varTName, conTName, infixTName, tupleTName,
    unboxedTupleTName, unboxedSumTName, arrowTName, mulArrowTName, listTName,
    appTName, appKindTName, sigTName, equalityTName, litTName, promotedTName,
    promotedTupleTName, promotedNilTName, promotedConsTName,
    wildCardTName, implicitParamTName :: Name
forallTName :: Name
forallTName         = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"forallT")        Unique
forallTIdKey
forallVisTName :: Name
forallVisTName      = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"forallVisT")     Unique
forallVisTIdKey
varTName :: Name
varTName            = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"varT")           Unique
varTIdKey
conTName :: Name
conTName            = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"conT")           Unique
conTIdKey
tupleTName :: Name
tupleTName          = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"tupleT")         Unique
tupleTIdKey
unboxedTupleTName :: Name
unboxedTupleTName   = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"unboxedTupleT")  Unique
unboxedTupleTIdKey
unboxedSumTName :: Name
unboxedSumTName     = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"unboxedSumT")    Unique
unboxedSumTIdKey
arrowTName :: Name
arrowTName          = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"arrowT")         Unique
arrowTIdKey
mulArrowTName :: Name
mulArrowTName       = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"mulArrowT")      Unique
mulArrowTIdKey
listTName :: Name
listTName           = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"listT")          Unique
listTIdKey
appTName :: Name
appTName            = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"appT")           Unique
appTIdKey
appKindTName :: Name
appKindTName        = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"appKindT")       Unique
appKindTIdKey
sigTName :: Name
sigTName            = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"sigT")           Unique
sigTIdKey
equalityTName :: Name
equalityTName       = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"equalityT")      Unique
equalityTIdKey
litTName :: Name
litTName            = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"litT")           Unique
litTIdKey
promotedTName :: Name
promotedTName       = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"promotedT")      Unique
promotedTIdKey
promotedTupleTName :: Name
promotedTupleTName  = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"promotedTupleT") Unique
promotedTupleTIdKey
promotedNilTName :: Name
promotedNilTName    = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"promotedNilT")   Unique
promotedNilTIdKey
promotedConsTName :: Name
promotedConsTName   = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"promotedConsT")  Unique
promotedConsTIdKey
wildCardTName :: Name
wildCardTName       = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"wildCardT")      Unique
wildCardTIdKey
infixTName :: Name
infixTName          = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"infixT")         Unique
infixTIdKey
implicitParamTName :: Name
implicitParamTName  = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"implicitParamT") Unique
implicitParamTIdKey

-- data TyLit = ...
numTyLitName, strTyLitName, charTyLitName :: Name
numTyLitName :: Name
numTyLitName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"numTyLit") Unique
numTyLitIdKey
strTyLitName :: Name
strTyLitName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"strTyLit") Unique
strTyLitIdKey
charTyLitName :: Name
charTyLitName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"charTyLit") Unique
charTyLitIdKey

-- data TyVarBndr = ...
plainTVName, kindedTVName :: Name
plainTVName :: Name
plainTVName  = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"plainTV")  Unique
plainTVIdKey
kindedTVName :: Name
kindedTVName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"kindedTV") Unique
kindedTVIdKey

plainInvisTVName, kindedInvisTVName :: Name
plainInvisTVName :: Name
plainInvisTVName  = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"plainInvisTV")  Unique
plainInvisTVIdKey
kindedInvisTVName :: Name
kindedInvisTVName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"kindedInvisTV") Unique
kindedInvisTVIdKey

-- data Specificity = ...
specifiedSpecName, inferredSpecName :: Name
specifiedSpecName :: Name
specifiedSpecName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"specifiedSpec") Unique
specifiedSpecKey
inferredSpecName :: Name
inferredSpecName  = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"inferredSpec")  Unique
inferredSpecKey

-- data Role = ...
nominalRName, representationalRName, phantomRName, inferRName :: Name
nominalRName :: Name
nominalRName          = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"nominalR")          Unique
nominalRIdKey
representationalRName :: Name
representationalRName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"representationalR") Unique
representationalRIdKey
phantomRName :: Name
phantomRName          = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"phantomR")          Unique
phantomRIdKey
inferRName :: Name
inferRName            = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"inferR")            Unique
inferRIdKey

-- data Kind = ...
starKName, constraintKName :: Name
starKName :: Name
starKName       = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"starK")        Unique
starKIdKey
constraintKName :: Name
constraintKName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"constraintK")  Unique
constraintKIdKey

-- data FamilyResultSig = ...
noSigName, kindSigName, tyVarSigName :: Name
noSigName :: Name
noSigName    = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"noSig")    Unique
noSigIdKey
kindSigName :: Name
kindSigName  = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"kindSig")  Unique
kindSigIdKey
tyVarSigName :: Name
tyVarSigName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"tyVarSig") Unique
tyVarSigIdKey

-- data InjectivityAnn = ...
injectivityAnnName :: Name
injectivityAnnName :: Name
injectivityAnnName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"injectivityAnn") Unique
injectivityAnnIdKey

-- data Callconv = ...
cCallName, stdCallName, cApiCallName, primCallName, javaScriptCallName :: Name
cCallName :: Name
cCallName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"cCall") Unique
cCallIdKey
stdCallName :: Name
stdCallName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"stdCall") Unique
stdCallIdKey
cApiCallName :: Name
cApiCallName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"cApi") Unique
cApiCallIdKey
primCallName :: Name
primCallName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"prim") Unique
primCallIdKey
javaScriptCallName :: Name
javaScriptCallName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"javaScript") Unique
javaScriptCallIdKey

-- data Safety = ...
unsafeName, safeName, interruptibleName :: Name
unsafeName :: Name
unsafeName     = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"unsafe") Unique
unsafeIdKey
safeName :: Name
safeName       = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"safe") Unique
safeIdKey
interruptibleName :: Name
interruptibleName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"interruptible") Unique
interruptibleIdKey

-- data RuleBndr = ...
ruleVarName, typedRuleVarName :: Name
ruleVarName :: Name
ruleVarName      = FastString -> Unique -> Name
libFun (String -> FastString
fsLit (String
"ruleVar"))      Unique
ruleVarIdKey
typedRuleVarName :: Name
typedRuleVarName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit (String
"typedRuleVar")) Unique
typedRuleVarIdKey

-- data FunDep = ...
funDepName :: Name
funDepName :: Name
funDepName     = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"funDep") Unique
funDepIdKey

-- data TySynEqn = ...
tySynEqnName :: Name
tySynEqnName :: Name
tySynEqnName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"tySynEqn") Unique
tySynEqnIdKey

-- data AnnTarget = ...
valueAnnotationName, typeAnnotationName, moduleAnnotationName :: Name
valueAnnotationName :: Name
valueAnnotationName  = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"valueAnnotation")  Unique
valueAnnotationIdKey
typeAnnotationName :: Name
typeAnnotationName   = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"typeAnnotation")   Unique
typeAnnotationIdKey
moduleAnnotationName :: Name
moduleAnnotationName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"moduleAnnotation") Unique
moduleAnnotationIdKey

-- type DerivClause = ...
derivClauseName :: Name
derivClauseName :: Name
derivClauseName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"derivClause") Unique
derivClauseIdKey

-- data DerivStrategy = ...
stockStrategyName, anyclassStrategyName, newtypeStrategyName,
  viaStrategyName :: Name
stockStrategyName :: Name
stockStrategyName    = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"stockStrategy")    Unique
stockStrategyIdKey
anyclassStrategyName :: Name
anyclassStrategyName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"anyclassStrategy") Unique
anyclassStrategyIdKey
newtypeStrategyName :: Name
newtypeStrategyName  = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"newtypeStrategy")  Unique
newtypeStrategyIdKey
viaStrategyName :: Name
viaStrategyName      = FastString -> Unique -> Name
libFun (String -> FastString
fsLit String
"viaStrategy")      Unique
viaStrategyIdKey

patQTyConName, expQTyConName, stmtTyConName,
    conTyConName, bangTypeTyConName,
    varBangTypeTyConName, typeQTyConName,
    decsQTyConName, ruleBndrTyConName, tySynEqnTyConName, roleTyConName,
    derivClauseTyConName, kindTyConName,
    tyVarBndrUnitTyConName, tyVarBndrSpecTyConName,
    derivStrategyTyConName :: Name
-- These are only used for the types of top-level splices
expQTyConName :: Name
expQTyConName           = FastString -> Unique -> Name
libTc (String -> FastString
fsLit String
"ExpQ")           Unique
expQTyConKey
decsQTyConName :: Name
decsQTyConName          = FastString -> Unique -> Name
libTc (String -> FastString
fsLit String
"DecsQ")          Unique
decsQTyConKey  -- Q [Dec]
typeQTyConName :: Name
typeQTyConName          = FastString -> Unique -> Name
libTc (String -> FastString
fsLit String
"TypeQ")          Unique
typeQTyConKey
patQTyConName :: Name
patQTyConName           = FastString -> Unique -> Name
libTc (String -> FastString
fsLit String
"PatQ")           Unique
patQTyConKey

-- These are used in GHC.HsToCore.Quote but always wrapped in a type variable
stmtTyConName :: Name
stmtTyConName           = FastString -> Unique -> Name
thTc (String -> FastString
fsLit String
"Stmt")            Unique
stmtTyConKey
conTyConName :: Name
conTyConName            = FastString -> Unique -> Name
thTc (String -> FastString
fsLit String
"Con")             Unique
conTyConKey
bangTypeTyConName :: Name
bangTypeTyConName       = FastString -> Unique -> Name
thTc (String -> FastString
fsLit String
"BangType")      Unique
bangTypeTyConKey
varBangTypeTyConName :: Name
varBangTypeTyConName    = FastString -> Unique -> Name
thTc (String -> FastString
fsLit String
"VarBangType")     Unique
varBangTypeTyConKey
ruleBndrTyConName :: Name
ruleBndrTyConName      = FastString -> Unique -> Name
thTc (String -> FastString
fsLit String
"RuleBndr")      Unique
ruleBndrTyConKey
tySynEqnTyConName :: Name
tySynEqnTyConName       = FastString -> Unique -> Name
thTc  (String -> FastString
fsLit String
"TySynEqn")       Unique
tySynEqnTyConKey
roleTyConName :: Name
roleTyConName           = FastString -> Unique -> Name
libTc (String -> FastString
fsLit String
"Role")           Unique
roleTyConKey
derivClauseTyConName :: Name
derivClauseTyConName   = FastString -> Unique -> Name
thTc (String -> FastString
fsLit String
"DerivClause")   Unique
derivClauseTyConKey
kindTyConName :: Name
kindTyConName          = FastString -> Unique -> Name
thTc (String -> FastString
fsLit String
"Kind")          Unique
kindTyConKey
tyVarBndrUnitTyConName :: Name
tyVarBndrUnitTyConName = FastString -> Unique -> Name
libTc (String -> FastString
fsLit String
"TyVarBndrUnit") Unique
tyVarBndrUnitTyConKey
tyVarBndrSpecTyConName :: Name
tyVarBndrSpecTyConName = FastString -> Unique -> Name
libTc (String -> FastString
fsLit String
"TyVarBndrSpec") Unique
tyVarBndrSpecTyConKey
derivStrategyTyConName :: Name
derivStrategyTyConName = FastString -> Unique -> Name
thTc (String -> FastString
fsLit String
"DerivStrategy") Unique
derivStrategyTyConKey

-- quasiquoting
quoteExpName, quotePatName, quoteDecName, quoteTypeName :: Name
quoteExpName :: Name
quoteExpName        = FastString -> Unique -> Name
qqFun (String -> FastString
fsLit String
"quoteExp")  Unique
quoteExpKey
quotePatName :: Name
quotePatName        = FastString -> Unique -> Name
qqFun (String -> FastString
fsLit String
"quotePat")  Unique
quotePatKey
quoteDecName :: Name
quoteDecName        = FastString -> Unique -> Name
qqFun (String -> FastString
fsLit String
"quoteDec")  Unique
quoteDecKey
quoteTypeName :: Name
quoteTypeName       = FastString -> Unique -> Name
qqFun (String -> FastString
fsLit String
"quoteType") Unique
quoteTypeKey

-- data Inline = ...
noInlineDataConName, inlineDataConName, inlinableDataConName :: Name
noInlineDataConName :: Name
noInlineDataConName  = FastString -> Unique -> Name
thCon (String -> FastString
fsLit String
"NoInline")  Unique
noInlineDataConKey
inlineDataConName :: Name
inlineDataConName    = FastString -> Unique -> Name
thCon (String -> FastString
fsLit String
"Inline")    Unique
inlineDataConKey
inlinableDataConName :: Name
inlinableDataConName = FastString -> Unique -> Name
thCon (String -> FastString
fsLit String
"Inlinable") Unique
inlinableDataConKey

-- data RuleMatch = ...
conLikeDataConName, funLikeDataConName :: Name
conLikeDataConName :: Name
conLikeDataConName = FastString -> Unique -> Name
thCon (String -> FastString
fsLit String
"ConLike") Unique
conLikeDataConKey
funLikeDataConName :: Name
funLikeDataConName = FastString -> Unique -> Name
thCon (String -> FastString
fsLit String
"FunLike") Unique
funLikeDataConKey

-- data Phases = ...
allPhasesDataConName, fromPhaseDataConName, beforePhaseDataConName :: Name
allPhasesDataConName :: Name
allPhasesDataConName   = FastString -> Unique -> Name
thCon (String -> FastString
fsLit String
"AllPhases")   Unique
allPhasesDataConKey
fromPhaseDataConName :: Name
fromPhaseDataConName   = FastString -> Unique -> Name
thCon (String -> FastString
fsLit String
"FromPhase")   Unique
fromPhaseDataConKey
beforePhaseDataConName :: Name
beforePhaseDataConName = FastString -> Unique -> Name
thCon (String -> FastString
fsLit String
"BeforePhase") Unique
beforePhaseDataConKey

-- data Overlap = ...
overlappableDataConName,
  overlappingDataConName,
  overlapsDataConName,
  incoherentDataConName :: Name
overlappableDataConName :: Name
overlappableDataConName = FastString -> Unique -> Name
thCon (String -> FastString
fsLit String
"Overlappable") Unique
overlappableDataConKey
overlappingDataConName :: Name
overlappingDataConName  = FastString -> Unique -> Name
thCon (String -> FastString
fsLit String
"Overlapping")  Unique
overlappingDataConKey
overlapsDataConName :: Name
overlapsDataConName     = FastString -> Unique -> Name
thCon (String -> FastString
fsLit String
"Overlaps")     Unique
overlapsDataConKey
incoherentDataConName :: Name
incoherentDataConName   = FastString -> Unique -> Name
thCon (String -> FastString
fsLit String
"Incoherent")   Unique
incoherentDataConKey

{- *********************************************************************
*                                                                      *
                     Class keys
*                                                                      *
********************************************************************* -}

-- ClassUniques available: 200-299
-- Check in GHC.Builtin.Names if you want to change this

liftClassKey :: Unique
liftClassKey :: Unique
liftClassKey = Int -> Unique
mkPreludeClassUnique Int
200

quoteClassKey :: Unique
quoteClassKey :: Unique
quoteClassKey = Int -> Unique
mkPreludeClassUnique Int
201

{- *********************************************************************
*                                                                      *
                     TyCon keys
*                                                                      *
********************************************************************* -}

-- TyConUniques available: 200-299
-- Check in GHC.Builtin.Names if you want to change this

expTyConKey, matchTyConKey, clauseTyConKey, qTyConKey, expQTyConKey,
    patTyConKey,
    stmtTyConKey, conTyConKey, typeQTyConKey, typeTyConKey,
    tyVarBndrUnitTyConKey, tyVarBndrSpecTyConKey,
    decTyConKey, bangTypeTyConKey, varBangTypeTyConKey,
    fieldExpTyConKey, fieldPatTyConKey, nameTyConKey, patQTyConKey,
    funDepTyConKey, predTyConKey,
    predQTyConKey, decsQTyConKey, ruleBndrTyConKey, tySynEqnTyConKey,
    roleTyConKey, codeTyConKey, injAnnTyConKey, kindTyConKey,
    overlapTyConKey, derivClauseTyConKey, derivStrategyTyConKey, decsTyConKey,
    modNameTyConKey  :: Unique
expTyConKey :: Unique
expTyConKey             = Int -> Unique
mkPreludeTyConUnique Int
200
matchTyConKey :: Unique
matchTyConKey           = Int -> Unique
mkPreludeTyConUnique Int
201
clauseTyConKey :: Unique
clauseTyConKey          = Int -> Unique
mkPreludeTyConUnique Int
202
qTyConKey :: Unique
qTyConKey               = Int -> Unique
mkPreludeTyConUnique Int
203
expQTyConKey :: Unique
expQTyConKey            = Int -> Unique
mkPreludeTyConUnique Int
204
patTyConKey :: Unique
patTyConKey             = Int -> Unique
mkPreludeTyConUnique Int
206
stmtTyConKey :: Unique
stmtTyConKey            = Int -> Unique
mkPreludeTyConUnique Int
209
conTyConKey :: Unique
conTyConKey             = Int -> Unique
mkPreludeTyConUnique Int
210
typeQTyConKey :: Unique
typeQTyConKey           = Int -> Unique
mkPreludeTyConUnique Int
211
typeTyConKey :: Unique
typeTyConKey            = Int -> Unique
mkPreludeTyConUnique Int
212
decTyConKey :: Unique
decTyConKey             = Int -> Unique
mkPreludeTyConUnique Int
213
bangTypeTyConKey :: Unique
bangTypeTyConKey        = Int -> Unique
mkPreludeTyConUnique Int
214
varBangTypeTyConKey :: Unique
varBangTypeTyConKey     = Int -> Unique
mkPreludeTyConUnique Int
215
fieldExpTyConKey :: Unique
fieldExpTyConKey        = Int -> Unique
mkPreludeTyConUnique Int
216
fieldPatTyConKey :: Unique
fieldPatTyConKey        = Int -> Unique
mkPreludeTyConUnique Int
217
nameTyConKey :: Unique
nameTyConKey            = Int -> Unique
mkPreludeTyConUnique Int
218
patQTyConKey :: Unique
patQTyConKey            = Int -> Unique
mkPreludeTyConUnique Int
219
funDepTyConKey :: Unique
funDepTyConKey          = Int -> Unique
mkPreludeTyConUnique Int
222
predTyConKey :: Unique
predTyConKey            = Int -> Unique
mkPreludeTyConUnique Int
223
predQTyConKey :: Unique
predQTyConKey           = Int -> Unique
mkPreludeTyConUnique Int
224
tyVarBndrUnitTyConKey :: Unique
tyVarBndrUnitTyConKey   = Int -> Unique
mkPreludeTyConUnique Int
225
decsQTyConKey :: Unique
decsQTyConKey           = Int -> Unique
mkPreludeTyConUnique Int
226
ruleBndrTyConKey :: Unique
ruleBndrTyConKey        = Int -> Unique
mkPreludeTyConUnique Int
227
tySynEqnTyConKey :: Unique
tySynEqnTyConKey        = Int -> Unique
mkPreludeTyConUnique Int
228
roleTyConKey :: Unique
roleTyConKey            = Int -> Unique
mkPreludeTyConUnique Int
229
injAnnTyConKey :: Unique
injAnnTyConKey          = Int -> Unique
mkPreludeTyConUnique Int
231
kindTyConKey :: Unique
kindTyConKey            = Int -> Unique
mkPreludeTyConUnique Int
232
overlapTyConKey :: Unique
overlapTyConKey         = Int -> Unique
mkPreludeTyConUnique Int
233
derivClauseTyConKey :: Unique
derivClauseTyConKey     = Int -> Unique
mkPreludeTyConUnique Int
234
derivStrategyTyConKey :: Unique
derivStrategyTyConKey   = Int -> Unique
mkPreludeTyConUnique Int
235
decsTyConKey :: Unique
decsTyConKey            = Int -> Unique
mkPreludeTyConUnique Int
236
tyVarBndrSpecTyConKey :: Unique
tyVarBndrSpecTyConKey   = Int -> Unique
mkPreludeTyConUnique Int
237
codeTyConKey :: Unique
codeTyConKey            = Int -> Unique
mkPreludeTyConUnique Int
238
modNameTyConKey :: Unique
modNameTyConKey         = Int -> Unique
mkPreludeTyConUnique Int
239

{- *********************************************************************
*                                                                      *
                     DataCon keys
*                                                                      *
********************************************************************* -}

-- DataConUniques available: 100-150
-- If you want to change this, make sure you check in GHC.Builtin.Names

-- data Inline = ...
noInlineDataConKey, inlineDataConKey, inlinableDataConKey :: Unique
noInlineDataConKey :: Unique
noInlineDataConKey  = Int -> Unique
mkPreludeDataConUnique Int
200
inlineDataConKey :: Unique
inlineDataConKey    = Int -> Unique
mkPreludeDataConUnique Int
201
inlinableDataConKey :: Unique
inlinableDataConKey = Int -> Unique
mkPreludeDataConUnique Int
202

-- data RuleMatch = ...
conLikeDataConKey, funLikeDataConKey :: Unique
conLikeDataConKey :: Unique
conLikeDataConKey = Int -> Unique
mkPreludeDataConUnique Int
203
funLikeDataConKey :: Unique
funLikeDataConKey = Int -> Unique
mkPreludeDataConUnique Int
204

-- data Phases = ...
allPhasesDataConKey, fromPhaseDataConKey, beforePhaseDataConKey :: Unique
allPhasesDataConKey :: Unique
allPhasesDataConKey   = Int -> Unique
mkPreludeDataConUnique Int
205
fromPhaseDataConKey :: Unique
fromPhaseDataConKey   = Int -> Unique
mkPreludeDataConUnique Int
206
beforePhaseDataConKey :: Unique
beforePhaseDataConKey = Int -> Unique
mkPreludeDataConUnique Int
207

-- data Overlap = ..
overlappableDataConKey,
  overlappingDataConKey,
  overlapsDataConKey,
  incoherentDataConKey :: Unique
overlappableDataConKey :: Unique
overlappableDataConKey = Int -> Unique
mkPreludeDataConUnique Int
209
overlappingDataConKey :: Unique
overlappingDataConKey  = Int -> Unique
mkPreludeDataConUnique Int
210
overlapsDataConKey :: Unique
overlapsDataConKey     = Int -> Unique
mkPreludeDataConUnique Int
211
incoherentDataConKey :: Unique
incoherentDataConKey   = Int -> Unique
mkPreludeDataConUnique Int
212

{- *********************************************************************
*                                                                      *
                     Id keys
*                                                                      *
********************************************************************* -}

-- IdUniques available: 200-499
-- If you want to change this, make sure you check in GHC.Builtin.Names

returnQIdKey, bindQIdKey, sequenceQIdKey, liftIdKey, newNameIdKey,
    mkNameIdKey, mkNameG_vIdKey, mkNameG_dIdKey, mkNameG_tcIdKey,
    mkNameLIdKey, mkNameSIdKey, unTypeIdKey, unTypeCodeIdKey,
    unsafeCodeCoerceIdKey, liftTypedIdKey, mkModNameIdKey :: Unique
returnQIdKey :: Unique
returnQIdKey        = Int -> Unique
mkPreludeMiscIdUnique Int
200
bindQIdKey :: Unique
bindQIdKey          = Int -> Unique
mkPreludeMiscIdUnique Int
201
sequenceQIdKey :: Unique
sequenceQIdKey      = Int -> Unique
mkPreludeMiscIdUnique Int
202
liftIdKey :: Unique
liftIdKey           = Int -> Unique
mkPreludeMiscIdUnique Int
203
newNameIdKey :: Unique
newNameIdKey         = Int -> Unique
mkPreludeMiscIdUnique Int
204
mkNameIdKey :: Unique
mkNameIdKey          = Int -> Unique
mkPreludeMiscIdUnique Int
205
mkNameG_vIdKey :: Unique
mkNameG_vIdKey       = Int -> Unique
mkPreludeMiscIdUnique Int
206
mkNameG_dIdKey :: Unique
mkNameG_dIdKey       = Int -> Unique
mkPreludeMiscIdUnique Int
207
mkNameG_tcIdKey :: Unique
mkNameG_tcIdKey      = Int -> Unique
mkPreludeMiscIdUnique Int
208
mkNameLIdKey :: Unique
mkNameLIdKey         = Int -> Unique
mkPreludeMiscIdUnique Int
209
mkNameSIdKey :: Unique
mkNameSIdKey         = Int -> Unique
mkPreludeMiscIdUnique Int
210
unTypeIdKey :: Unique
unTypeIdKey          = Int -> Unique
mkPreludeMiscIdUnique Int
211
unTypeCodeIdKey :: Unique
unTypeCodeIdKey      = Int -> Unique
mkPreludeMiscIdUnique Int
212
liftTypedIdKey :: Unique
liftTypedIdKey        = Int -> Unique
mkPreludeMiscIdUnique Int
214
mkModNameIdKey :: Unique
mkModNameIdKey        = Int -> Unique
mkPreludeMiscIdUnique Int
215
unsafeCodeCoerceIdKey :: Unique
unsafeCodeCoerceIdKey = Int -> Unique
mkPreludeMiscIdUnique Int
216


-- data Lit = ...
charLIdKey, stringLIdKey, integerLIdKey, intPrimLIdKey, wordPrimLIdKey,
    floatPrimLIdKey, doublePrimLIdKey, rationalLIdKey, stringPrimLIdKey,
    charPrimLIdKey:: Unique
charLIdKey :: Unique
charLIdKey        = Int -> Unique
mkPreludeMiscIdUnique Int
220
stringLIdKey :: Unique
stringLIdKey      = Int -> Unique
mkPreludeMiscIdUnique Int
221
integerLIdKey :: Unique
integerLIdKey     = Int -> Unique
mkPreludeMiscIdUnique Int
222
intPrimLIdKey :: Unique
intPrimLIdKey     = Int -> Unique
mkPreludeMiscIdUnique Int
223
wordPrimLIdKey :: Unique
wordPrimLIdKey    = Int -> Unique
mkPreludeMiscIdUnique Int
224
floatPrimLIdKey :: Unique
floatPrimLIdKey   = Int -> Unique
mkPreludeMiscIdUnique Int
225
doublePrimLIdKey :: Unique
doublePrimLIdKey  = Int -> Unique
mkPreludeMiscIdUnique Int
226
rationalLIdKey :: Unique
rationalLIdKey    = Int -> Unique
mkPreludeMiscIdUnique Int
227
stringPrimLIdKey :: Unique
stringPrimLIdKey  = Int -> Unique
mkPreludeMiscIdUnique Int
228
charPrimLIdKey :: Unique
charPrimLIdKey    = Int -> Unique
mkPreludeMiscIdUnique Int
229

liftStringIdKey :: Unique
liftStringIdKey :: Unique
liftStringIdKey     = Int -> Unique
mkPreludeMiscIdUnique Int
230

-- data Pat = ...
litPIdKey, varPIdKey, tupPIdKey, unboxedTupPIdKey, unboxedSumPIdKey, conPIdKey,
  infixPIdKey, tildePIdKey, bangPIdKey, asPIdKey, wildPIdKey, recPIdKey,
  listPIdKey, sigPIdKey, viewPIdKey :: Unique
litPIdKey :: Unique
litPIdKey         = Int -> Unique
mkPreludeMiscIdUnique Int
240
varPIdKey :: Unique
varPIdKey         = Int -> Unique
mkPreludeMiscIdUnique Int
241
tupPIdKey :: Unique
tupPIdKey         = Int -> Unique
mkPreludeMiscIdUnique Int
242
unboxedTupPIdKey :: Unique
unboxedTupPIdKey  = Int -> Unique
mkPreludeMiscIdUnique Int
243
unboxedSumPIdKey :: Unique
unboxedSumPIdKey  = Int -> Unique
mkPreludeMiscIdUnique Int
244
conPIdKey :: Unique
conPIdKey         = Int -> Unique
mkPreludeMiscIdUnique Int
245
infixPIdKey :: Unique
infixPIdKey       = Int -> Unique
mkPreludeMiscIdUnique Int
246
tildePIdKey :: Unique
tildePIdKey       = Int -> Unique
mkPreludeMiscIdUnique Int
247
bangPIdKey :: Unique
bangPIdKey        = Int -> Unique
mkPreludeMiscIdUnique Int
248
asPIdKey :: Unique
asPIdKey          = Int -> Unique
mkPreludeMiscIdUnique Int
249
wildPIdKey :: Unique
wildPIdKey        = Int -> Unique
mkPreludeMiscIdUnique Int
250
recPIdKey :: Unique
recPIdKey         = Int -> Unique
mkPreludeMiscIdUnique Int
251
listPIdKey :: Unique
listPIdKey        = Int -> Unique
mkPreludeMiscIdUnique Int
252
sigPIdKey :: Unique
sigPIdKey         = Int -> Unique
mkPreludeMiscIdUnique Int
253
viewPIdKey :: Unique
viewPIdKey        = Int -> Unique
mkPreludeMiscIdUnique Int
254

-- type FieldPat = ...
fieldPatIdKey :: Unique
fieldPatIdKey :: Unique
fieldPatIdKey       = Int -> Unique
mkPreludeMiscIdUnique Int
260

-- data Match = ...
matchIdKey :: Unique
matchIdKey :: Unique
matchIdKey          = Int -> Unique
mkPreludeMiscIdUnique Int
261

-- data Clause = ...
clauseIdKey :: Unique
clauseIdKey :: Unique
clauseIdKey         = Int -> Unique
mkPreludeMiscIdUnique Int
262


-- data Exp = ...
varEIdKey, conEIdKey, litEIdKey, appEIdKey, appTypeEIdKey, infixEIdKey,
    infixAppIdKey, sectionLIdKey, sectionRIdKey, lamEIdKey, lamCaseEIdKey,
    tupEIdKey, unboxedTupEIdKey, unboxedSumEIdKey, condEIdKey, multiIfEIdKey,
    letEIdKey, caseEIdKey, doEIdKey, compEIdKey,
    fromEIdKey, fromThenEIdKey, fromToEIdKey, fromThenToEIdKey,
    listEIdKey, sigEIdKey, recConEIdKey, recUpdEIdKey, staticEIdKey,
    unboundVarEIdKey, labelEIdKey, implicitParamVarEIdKey, mdoEIdKey,
    getFieldEIdKey, projectionEIdKey :: Unique
varEIdKey :: Unique
varEIdKey              = Int -> Unique
mkPreludeMiscIdUnique Int
270
conEIdKey :: Unique
conEIdKey              = Int -> Unique
mkPreludeMiscIdUnique Int
271
litEIdKey :: Unique
litEIdKey              = Int -> Unique
mkPreludeMiscIdUnique Int
272
appEIdKey :: Unique
appEIdKey              = Int -> Unique
mkPreludeMiscIdUnique Int
273
appTypeEIdKey :: Unique
appTypeEIdKey          = Int -> Unique
mkPreludeMiscIdUnique Int
274
infixEIdKey :: Unique
infixEIdKey            = Int -> Unique
mkPreludeMiscIdUnique Int
275
infixAppIdKey :: Unique
infixAppIdKey          = Int -> Unique
mkPreludeMiscIdUnique Int
276
sectionLIdKey :: Unique
sectionLIdKey          = Int -> Unique
mkPreludeMiscIdUnique Int
277
sectionRIdKey :: Unique
sectionRIdKey          = Int -> Unique
mkPreludeMiscIdUnique Int
278
lamEIdKey :: Unique
lamEIdKey              = Int -> Unique
mkPreludeMiscIdUnique Int
279
lamCaseEIdKey :: Unique
lamCaseEIdKey          = Int -> Unique
mkPreludeMiscIdUnique Int
280
tupEIdKey :: Unique
tupEIdKey              = Int -> Unique
mkPreludeMiscIdUnique Int
281
unboxedTupEIdKey :: Unique
unboxedTupEIdKey       = Int -> Unique
mkPreludeMiscIdUnique Int
282
unboxedSumEIdKey :: Unique
unboxedSumEIdKey       = Int -> Unique
mkPreludeMiscIdUnique Int
283
condEIdKey :: Unique
condEIdKey             = Int -> Unique
mkPreludeMiscIdUnique Int
284
multiIfEIdKey :: Unique
multiIfEIdKey          = Int -> Unique
mkPreludeMiscIdUnique Int
285
letEIdKey :: Unique
letEIdKey              = Int -> Unique
mkPreludeMiscIdUnique Int
286
caseEIdKey :: Unique
caseEIdKey             = Int -> Unique
mkPreludeMiscIdUnique Int
287
doEIdKey :: Unique
doEIdKey               = Int -> Unique
mkPreludeMiscIdUnique Int
288
compEIdKey :: Unique
compEIdKey             = Int -> Unique
mkPreludeMiscIdUnique Int
289
fromEIdKey :: Unique
fromEIdKey             = Int -> Unique
mkPreludeMiscIdUnique Int
290
fromThenEIdKey :: Unique
fromThenEIdKey         = Int -> Unique
mkPreludeMiscIdUnique Int
291
fromToEIdKey :: Unique
fromToEIdKey           = Int -> Unique
mkPreludeMiscIdUnique Int
292
fromThenToEIdKey :: Unique
fromThenToEIdKey       = Int -> Unique
mkPreludeMiscIdUnique Int
293
listEIdKey :: Unique
listEIdKey             = Int -> Unique
mkPreludeMiscIdUnique Int
294
sigEIdKey :: Unique
sigEIdKey              = Int -> Unique
mkPreludeMiscIdUnique Int
295
recConEIdKey :: Unique
recConEIdKey           = Int -> Unique
mkPreludeMiscIdUnique Int
296
recUpdEIdKey :: Unique
recUpdEIdKey           = Int -> Unique
mkPreludeMiscIdUnique Int
297
staticEIdKey :: Unique
staticEIdKey           = Int -> Unique
mkPreludeMiscIdUnique Int
298
unboundVarEIdKey :: Unique
unboundVarEIdKey       = Int -> Unique
mkPreludeMiscIdUnique Int
299
labelEIdKey :: Unique
labelEIdKey            = Int -> Unique
mkPreludeMiscIdUnique Int
300
implicitParamVarEIdKey :: Unique
implicitParamVarEIdKey = Int -> Unique
mkPreludeMiscIdUnique Int
301
mdoEIdKey :: Unique
mdoEIdKey              = Int -> Unique
mkPreludeMiscIdUnique Int
302
getFieldEIdKey :: Unique
getFieldEIdKey         = Int -> Unique
mkPreludeMiscIdUnique Int
303
projectionEIdKey :: Unique
projectionEIdKey       = Int -> Unique
mkPreludeMiscIdUnique Int
304

-- type FieldExp = ...
fieldExpIdKey :: Unique
fieldExpIdKey :: Unique
fieldExpIdKey       = Int -> Unique
mkPreludeMiscIdUnique Int
305

-- data Body = ...
guardedBIdKey, normalBIdKey :: Unique
guardedBIdKey :: Unique
guardedBIdKey     = Int -> Unique
mkPreludeMiscIdUnique Int
306
normalBIdKey :: Unique
normalBIdKey      = Int -> Unique
mkPreludeMiscIdUnique Int
307

-- data Guard = ...
normalGEIdKey, patGEIdKey :: Unique
normalGEIdKey :: Unique
normalGEIdKey     = Int -> Unique
mkPreludeMiscIdUnique Int
308
patGEIdKey :: Unique
patGEIdKey        = Int -> Unique
mkPreludeMiscIdUnique Int
309

-- data Stmt = ...
bindSIdKey, letSIdKey, noBindSIdKey, parSIdKey, recSIdKey :: Unique
bindSIdKey :: Unique
bindSIdKey       = Int -> Unique
mkPreludeMiscIdUnique Int
310
letSIdKey :: Unique
letSIdKey        = Int -> Unique
mkPreludeMiscIdUnique Int
311
noBindSIdKey :: Unique
noBindSIdKey     = Int -> Unique
mkPreludeMiscIdUnique Int
312
parSIdKey :: Unique
parSIdKey        = Int -> Unique
mkPreludeMiscIdUnique Int
313
recSIdKey :: Unique
recSIdKey        = Int -> Unique
mkPreludeMiscIdUnique Int
314

-- data Dec = ...
funDIdKey, valDIdKey, dataDIdKey, newtypeDIdKey, tySynDIdKey, classDIdKey,
    instanceWithOverlapDIdKey, instanceDIdKey, sigDIdKey, forImpDIdKey,
    pragInlDIdKey, pragSpecDIdKey, pragSpecInlDIdKey, pragSpecInstDIdKey,
    pragRuleDIdKey, pragAnnDIdKey, defaultSigDIdKey, dataFamilyDIdKey,
    openTypeFamilyDIdKey, closedTypeFamilyDIdKey, dataInstDIdKey,
    newtypeInstDIdKey, tySynInstDIdKey, standaloneDerivWithStrategyDIdKey,
    infixLDIdKey, infixRDIdKey, infixNDIdKey, roleAnnotDIdKey, patSynDIdKey,
    patSynSigDIdKey, pragCompleteDIdKey, implicitParamBindDIdKey,
    kiSigDIdKey :: Unique
funDIdKey :: Unique
funDIdKey                         = Int -> Unique
mkPreludeMiscIdUnique Int
320
valDIdKey :: Unique
valDIdKey                         = Int -> Unique
mkPreludeMiscIdUnique Int
321
dataDIdKey :: Unique
dataDIdKey                        = Int -> Unique
mkPreludeMiscIdUnique Int
322
newtypeDIdKey :: Unique
newtypeDIdKey                     = Int -> Unique
mkPreludeMiscIdUnique Int
323
tySynDIdKey :: Unique
tySynDIdKey                       = Int -> Unique
mkPreludeMiscIdUnique Int
324
classDIdKey :: Unique
classDIdKey                       = Int -> Unique
mkPreludeMiscIdUnique Int
325
instanceWithOverlapDIdKey :: Unique
instanceWithOverlapDIdKey         = Int -> Unique
mkPreludeMiscIdUnique Int
326
instanceDIdKey :: Unique
instanceDIdKey                    = Int -> Unique
mkPreludeMiscIdUnique Int
327
sigDIdKey :: Unique
sigDIdKey                         = Int -> Unique
mkPreludeMiscIdUnique Int
328
forImpDIdKey :: Unique
forImpDIdKey                      = Int -> Unique
mkPreludeMiscIdUnique Int
329
pragInlDIdKey :: Unique
pragInlDIdKey                     = Int -> Unique
mkPreludeMiscIdUnique Int
330
pragSpecDIdKey :: Unique
pragSpecDIdKey                    = Int -> Unique
mkPreludeMiscIdUnique Int
331
pragSpecInlDIdKey :: Unique
pragSpecInlDIdKey                 = Int -> Unique
mkPreludeMiscIdUnique Int
332
pragSpecInstDIdKey :: Unique
pragSpecInstDIdKey                = Int -> Unique
mkPreludeMiscIdUnique Int
333
pragRuleDIdKey :: Unique
pragRuleDIdKey                    = Int -> Unique
mkPreludeMiscIdUnique Int
334
pragAnnDIdKey :: Unique
pragAnnDIdKey                     = Int -> Unique
mkPreludeMiscIdUnique Int
335
dataFamilyDIdKey :: Unique
dataFamilyDIdKey                  = Int -> Unique
mkPreludeMiscIdUnique Int
336
openTypeFamilyDIdKey :: Unique
openTypeFamilyDIdKey              = Int -> Unique
mkPreludeMiscIdUnique Int
337
dataInstDIdKey :: Unique
dataInstDIdKey                    = Int -> Unique
mkPreludeMiscIdUnique Int
338
newtypeInstDIdKey :: Unique
newtypeInstDIdKey                 = Int -> Unique
mkPreludeMiscIdUnique Int
339
tySynInstDIdKey :: Unique
tySynInstDIdKey                   = Int -> Unique
mkPreludeMiscIdUnique Int
340
closedTypeFamilyDIdKey :: Unique
closedTypeFamilyDIdKey            = Int -> Unique
mkPreludeMiscIdUnique Int
341
infixLDIdKey :: Unique
infixLDIdKey                      = Int -> Unique
mkPreludeMiscIdUnique Int
342
infixRDIdKey :: Unique
infixRDIdKey                      = Int -> Unique
mkPreludeMiscIdUnique Int
343
infixNDIdKey :: Unique
infixNDIdKey                      = Int -> Unique
mkPreludeMiscIdUnique Int
344
roleAnnotDIdKey :: Unique
roleAnnotDIdKey                   = Int -> Unique
mkPreludeMiscIdUnique Int
345
standaloneDerivWithStrategyDIdKey :: Unique
standaloneDerivWithStrategyDIdKey = Int -> Unique
mkPreludeMiscIdUnique Int
346
defaultSigDIdKey :: Unique
defaultSigDIdKey                  = Int -> Unique
mkPreludeMiscIdUnique Int
347
patSynDIdKey :: Unique
patSynDIdKey                      = Int -> Unique
mkPreludeMiscIdUnique Int
348
patSynSigDIdKey :: Unique
patSynSigDIdKey                   = Int -> Unique
mkPreludeMiscIdUnique Int
349
pragCompleteDIdKey :: Unique
pragCompleteDIdKey                = Int -> Unique
mkPreludeMiscIdUnique Int
350
implicitParamBindDIdKey :: Unique
implicitParamBindDIdKey           = Int -> Unique
mkPreludeMiscIdUnique Int
351
kiSigDIdKey :: Unique
kiSigDIdKey                       = Int -> Unique
mkPreludeMiscIdUnique Int
352

-- type Cxt = ...
cxtIdKey :: Unique
cxtIdKey :: Unique
cxtIdKey               = Int -> Unique
mkPreludeMiscIdUnique Int
361

-- data SourceUnpackedness = ...
noSourceUnpackednessKey, sourceNoUnpackKey, sourceUnpackKey :: Unique
noSourceUnpackednessKey :: Unique
noSourceUnpackednessKey = Int -> Unique
mkPreludeMiscIdUnique Int
362
sourceNoUnpackKey :: Unique
sourceNoUnpackKey       = Int -> Unique
mkPreludeMiscIdUnique Int
363
sourceUnpackKey :: Unique
sourceUnpackKey         = Int -> Unique
mkPreludeMiscIdUnique Int
364

-- data SourceStrictness = ...
noSourceStrictnessKey, sourceLazyKey, sourceStrictKey :: Unique
noSourceStrictnessKey :: Unique
noSourceStrictnessKey   = Int -> Unique
mkPreludeMiscIdUnique Int
365
sourceLazyKey :: Unique
sourceLazyKey           = Int -> Unique
mkPreludeMiscIdUnique Int
366
sourceStrictKey :: Unique
sourceStrictKey         = Int -> Unique
mkPreludeMiscIdUnique Int
367

-- data Con = ...
normalCIdKey, recCIdKey, infixCIdKey, forallCIdKey, gadtCIdKey,
  recGadtCIdKey :: Unique
normalCIdKey :: Unique
normalCIdKey      = Int -> Unique
mkPreludeMiscIdUnique Int
368
recCIdKey :: Unique
recCIdKey         = Int -> Unique
mkPreludeMiscIdUnique Int
369
infixCIdKey :: Unique
infixCIdKey       = Int -> Unique
mkPreludeMiscIdUnique Int
370
forallCIdKey :: Unique
forallCIdKey      = Int -> Unique
mkPreludeMiscIdUnique Int
371
gadtCIdKey :: Unique
gadtCIdKey        = Int -> Unique
mkPreludeMiscIdUnique Int
372
recGadtCIdKey :: Unique
recGadtCIdKey     = Int -> Unique
mkPreludeMiscIdUnique Int
373

-- data Bang = ...
bangIdKey :: Unique
bangIdKey :: Unique
bangIdKey         = Int -> Unique
mkPreludeMiscIdUnique Int
374

-- type BangType = ...
bangTKey :: Unique
bangTKey :: Unique
bangTKey          = Int -> Unique
mkPreludeMiscIdUnique Int
375

-- type VarBangType = ...
varBangTKey :: Unique
varBangTKey :: Unique
varBangTKey       = Int -> Unique
mkPreludeMiscIdUnique Int
376

-- data PatSynDir = ...
unidirPatSynIdKey, implBidirPatSynIdKey, explBidirPatSynIdKey :: Unique
unidirPatSynIdKey :: Unique
unidirPatSynIdKey    = Int -> Unique
mkPreludeMiscIdUnique Int
377
implBidirPatSynIdKey :: Unique
implBidirPatSynIdKey = Int -> Unique
mkPreludeMiscIdUnique Int
378
explBidirPatSynIdKey :: Unique
explBidirPatSynIdKey = Int -> Unique
mkPreludeMiscIdUnique Int
379

-- data PatSynArgs = ...
prefixPatSynIdKey, infixPatSynIdKey, recordPatSynIdKey :: Unique
prefixPatSynIdKey :: Unique
prefixPatSynIdKey = Int -> Unique
mkPreludeMiscIdUnique Int
380
infixPatSynIdKey :: Unique
infixPatSynIdKey  = Int -> Unique
mkPreludeMiscIdUnique Int
381
recordPatSynIdKey :: Unique
recordPatSynIdKey = Int -> Unique
mkPreludeMiscIdUnique Int
382

-- data Type = ...
forallTIdKey, forallVisTIdKey, varTIdKey, conTIdKey, tupleTIdKey,
    unboxedTupleTIdKey, unboxedSumTIdKey, arrowTIdKey, listTIdKey, appTIdKey,
    appKindTIdKey, sigTIdKey, equalityTIdKey, litTIdKey, promotedTIdKey,
    promotedTupleTIdKey, promotedNilTIdKey, promotedConsTIdKey,
    wildCardTIdKey, implicitParamTIdKey, infixTIdKey :: Unique
forallTIdKey :: Unique
forallTIdKey        = Int -> Unique
mkPreludeMiscIdUnique Int
390
forallVisTIdKey :: Unique
forallVisTIdKey     = Int -> Unique
mkPreludeMiscIdUnique Int
391
varTIdKey :: Unique
varTIdKey           = Int -> Unique
mkPreludeMiscIdUnique Int
392
conTIdKey :: Unique
conTIdKey           = Int -> Unique
mkPreludeMiscIdUnique Int
393
tupleTIdKey :: Unique
tupleTIdKey         = Int -> Unique
mkPreludeMiscIdUnique Int
394
unboxedTupleTIdKey :: Unique
unboxedTupleTIdKey  = Int -> Unique
mkPreludeMiscIdUnique Int
395
unboxedSumTIdKey :: Unique
unboxedSumTIdKey    = Int -> Unique
mkPreludeMiscIdUnique Int
396
arrowTIdKey :: Unique
arrowTIdKey         = Int -> Unique
mkPreludeMiscIdUnique Int
397
listTIdKey :: Unique
listTIdKey          = Int -> Unique
mkPreludeMiscIdUnique Int
398
appTIdKey :: Unique
appTIdKey           = Int -> Unique
mkPreludeMiscIdUnique Int
399
appKindTIdKey :: Unique
appKindTIdKey       = Int -> Unique
mkPreludeMiscIdUnique Int
400
sigTIdKey :: Unique
sigTIdKey           = Int -> Unique
mkPreludeMiscIdUnique Int
401
equalityTIdKey :: Unique
equalityTIdKey      = Int -> Unique
mkPreludeMiscIdUnique Int
402
litTIdKey :: Unique
litTIdKey           = Int -> Unique
mkPreludeMiscIdUnique Int
403
promotedTIdKey :: Unique
promotedTIdKey      = Int -> Unique
mkPreludeMiscIdUnique Int
404
promotedTupleTIdKey :: Unique
promotedTupleTIdKey = Int -> Unique
mkPreludeMiscIdUnique Int
405
promotedNilTIdKey :: Unique
promotedNilTIdKey   = Int -> Unique
mkPreludeMiscIdUnique Int
406
promotedConsTIdKey :: Unique
promotedConsTIdKey  = Int -> Unique
mkPreludeMiscIdUnique Int
407
wildCardTIdKey :: Unique
wildCardTIdKey      = Int -> Unique
mkPreludeMiscIdUnique Int
408
implicitParamTIdKey :: Unique
implicitParamTIdKey = Int -> Unique
mkPreludeMiscIdUnique Int
409
infixTIdKey :: Unique
infixTIdKey         = Int -> Unique
mkPreludeMiscIdUnique Int
410

-- data TyLit = ...
numTyLitIdKey, strTyLitIdKey, charTyLitIdKey :: Unique
numTyLitIdKey :: Unique
numTyLitIdKey  = Int -> Unique
mkPreludeMiscIdUnique Int
411
strTyLitIdKey :: Unique
strTyLitIdKey  = Int -> Unique
mkPreludeMiscIdUnique Int
412
charTyLitIdKey :: Unique
charTyLitIdKey = Int -> Unique
mkPreludeMiscIdUnique Int
413

-- data TyVarBndr = ...
plainTVIdKey, kindedTVIdKey :: Unique
plainTVIdKey :: Unique
plainTVIdKey       = Int -> Unique
mkPreludeMiscIdUnique Int
414
kindedTVIdKey :: Unique
kindedTVIdKey      = Int -> Unique
mkPreludeMiscIdUnique Int
415

plainInvisTVIdKey, kindedInvisTVIdKey :: Unique
plainInvisTVIdKey :: Unique
plainInvisTVIdKey       = Int -> Unique
mkPreludeMiscIdUnique Int
482
kindedInvisTVIdKey :: Unique
kindedInvisTVIdKey      = Int -> Unique
mkPreludeMiscIdUnique Int
483

-- data Role = ...
nominalRIdKey, representationalRIdKey, phantomRIdKey, inferRIdKey :: Unique
nominalRIdKey :: Unique
nominalRIdKey          = Int -> Unique
mkPreludeMiscIdUnique Int
416
representationalRIdKey :: Unique
representationalRIdKey = Int -> Unique
mkPreludeMiscIdUnique Int
417
phantomRIdKey :: Unique
phantomRIdKey          = Int -> Unique
mkPreludeMiscIdUnique Int
418
inferRIdKey :: Unique
inferRIdKey            = Int -> Unique
mkPreludeMiscIdUnique Int
419

-- data Kind = ...
starKIdKey, constraintKIdKey :: Unique
starKIdKey :: Unique
starKIdKey        = Int -> Unique
mkPreludeMiscIdUnique Int
425
constraintKIdKey :: Unique
constraintKIdKey  = Int -> Unique
mkPreludeMiscIdUnique Int
426

-- data FamilyResultSig = ...
noSigIdKey, kindSigIdKey, tyVarSigIdKey :: Unique
noSigIdKey :: Unique
noSigIdKey        = Int -> Unique
mkPreludeMiscIdUnique Int
427
kindSigIdKey :: Unique
kindSigIdKey      = Int -> Unique
mkPreludeMiscIdUnique Int
428
tyVarSigIdKey :: Unique
tyVarSigIdKey     = Int -> Unique
mkPreludeMiscIdUnique Int
429

-- data InjectivityAnn = ...
injectivityAnnIdKey :: Unique
injectivityAnnIdKey :: Unique
injectivityAnnIdKey = Int -> Unique
mkPreludeMiscIdUnique Int
430

-- data Callconv = ...
cCallIdKey, stdCallIdKey, cApiCallIdKey, primCallIdKey,
  javaScriptCallIdKey :: Unique
cCallIdKey :: Unique
cCallIdKey          = Int -> Unique
mkPreludeMiscIdUnique Int
431
stdCallIdKey :: Unique
stdCallIdKey        = Int -> Unique
mkPreludeMiscIdUnique Int
432
cApiCallIdKey :: Unique
cApiCallIdKey       = Int -> Unique
mkPreludeMiscIdUnique Int
433
primCallIdKey :: Unique
primCallIdKey       = Int -> Unique
mkPreludeMiscIdUnique Int
434
javaScriptCallIdKey :: Unique
javaScriptCallIdKey = Int -> Unique
mkPreludeMiscIdUnique Int
435

-- data Safety = ...
unsafeIdKey, safeIdKey, interruptibleIdKey :: Unique
unsafeIdKey :: Unique
unsafeIdKey        = Int -> Unique
mkPreludeMiscIdUnique Int
440
safeIdKey :: Unique
safeIdKey          = Int -> Unique
mkPreludeMiscIdUnique Int
441
interruptibleIdKey :: Unique
interruptibleIdKey = Int -> Unique
mkPreludeMiscIdUnique Int
442

-- data FunDep = ...
funDepIdKey :: Unique
funDepIdKey :: Unique
funDepIdKey = Int -> Unique
mkPreludeMiscIdUnique Int
445

-- mulArrow
mulArrowTIdKey :: Unique
mulArrowTIdKey :: Unique
mulArrowTIdKey = Int -> Unique
mkPreludeMiscIdUnique Int
446

-- data TySynEqn = ...
tySynEqnIdKey :: Unique
tySynEqnIdKey :: Unique
tySynEqnIdKey = Int -> Unique
mkPreludeMiscIdUnique Int
460

-- quasiquoting
quoteExpKey, quotePatKey, quoteDecKey, quoteTypeKey :: Unique
quoteExpKey :: Unique
quoteExpKey  = Int -> Unique
mkPreludeMiscIdUnique Int
470
quotePatKey :: Unique
quotePatKey  = Int -> Unique
mkPreludeMiscIdUnique Int
471
quoteDecKey :: Unique
quoteDecKey  = Int -> Unique
mkPreludeMiscIdUnique Int
472
quoteTypeKey :: Unique
quoteTypeKey = Int -> Unique
mkPreludeMiscIdUnique Int
473

-- data RuleBndr = ...
ruleVarIdKey, typedRuleVarIdKey :: Unique
ruleVarIdKey :: Unique
ruleVarIdKey      = Int -> Unique
mkPreludeMiscIdUnique Int
480
typedRuleVarIdKey :: Unique
typedRuleVarIdKey = Int -> Unique
mkPreludeMiscIdUnique Int
481

-- data AnnTarget = ...
valueAnnotationIdKey, typeAnnotationIdKey, moduleAnnotationIdKey :: Unique
valueAnnotationIdKey :: Unique
valueAnnotationIdKey  = Int -> Unique
mkPreludeMiscIdUnique Int
490
typeAnnotationIdKey :: Unique
typeAnnotationIdKey   = Int -> Unique
mkPreludeMiscIdUnique Int
491
moduleAnnotationIdKey :: Unique
moduleAnnotationIdKey = Int -> Unique
mkPreludeMiscIdUnique Int
492

-- type DerivPred = ...
derivClauseIdKey :: Unique
derivClauseIdKey :: Unique
derivClauseIdKey = Int -> Unique
mkPreludeMiscIdUnique Int
493

-- data DerivStrategy = ...
stockStrategyIdKey, anyclassStrategyIdKey, newtypeStrategyIdKey,
  viaStrategyIdKey :: Unique
stockStrategyIdKey :: Unique
stockStrategyIdKey    = Int -> Unique
mkPreludeDataConUnique Int
494
anyclassStrategyIdKey :: Unique
anyclassStrategyIdKey = Int -> Unique
mkPreludeDataConUnique Int
495
newtypeStrategyIdKey :: Unique
newtypeStrategyIdKey  = Int -> Unique
mkPreludeDataConUnique Int
496
viaStrategyIdKey :: Unique
viaStrategyIdKey      = Int -> Unique
mkPreludeDataConUnique Int
497

-- data Specificity = ...
specifiedSpecKey, inferredSpecKey :: Unique
specifiedSpecKey :: Unique
specifiedSpecKey = Int -> Unique
mkPreludeMiscIdUnique Int
498
inferredSpecKey :: Unique
inferredSpecKey  = Int -> Unique
mkPreludeMiscIdUnique Int
499

{-
************************************************************************
*                                                                      *
                        RdrNames
*                                                                      *
************************************************************************
-}

lift_RDR, liftTyped_RDR, mkNameG_dRDR, mkNameG_vRDR, unsafeCodeCoerce_RDR :: RdrName
lift_RDR :: RdrName
lift_RDR     = Name -> RdrName
nameRdrName Name
liftName
liftTyped_RDR :: RdrName
liftTyped_RDR = Name -> RdrName
nameRdrName Name
liftTypedName
unsafeCodeCoerce_RDR :: RdrName
unsafeCodeCoerce_RDR = Name -> RdrName
nameRdrName Name
unsafeCodeCoerceName
mkNameG_dRDR :: RdrName
mkNameG_dRDR = Name -> RdrName
nameRdrName Name
mkNameG_dName
mkNameG_vRDR :: RdrName
mkNameG_vRDR = Name -> RdrName
nameRdrName Name
mkNameG_vName

-- data Exp = ...
conE_RDR, litE_RDR, appE_RDR, infixApp_RDR :: RdrName
conE_RDR :: RdrName
conE_RDR     = Name -> RdrName
nameRdrName Name
conEName
litE_RDR :: RdrName
litE_RDR     = Name -> RdrName
nameRdrName Name
litEName
appE_RDR :: RdrName
appE_RDR     = Name -> RdrName
nameRdrName Name
appEName
infixApp_RDR :: RdrName
infixApp_RDR = Name -> RdrName
nameRdrName Name
infixAppName

-- data Lit = ...
stringL_RDR, intPrimL_RDR, wordPrimL_RDR, floatPrimL_RDR,
    doublePrimL_RDR, stringPrimL_RDR, charPrimL_RDR :: RdrName
stringL_RDR :: RdrName
stringL_RDR     = Name -> RdrName
nameRdrName Name
stringLName
intPrimL_RDR :: RdrName
intPrimL_RDR    = Name -> RdrName
nameRdrName Name
intPrimLName
wordPrimL_RDR :: RdrName
wordPrimL_RDR   = Name -> RdrName
nameRdrName Name
wordPrimLName
floatPrimL_RDR :: RdrName
floatPrimL_RDR  = Name -> RdrName
nameRdrName Name
floatPrimLName
doublePrimL_RDR :: RdrName
doublePrimL_RDR = Name -> RdrName
nameRdrName Name
doublePrimLName
stringPrimL_RDR :: RdrName
stringPrimL_RDR = Name -> RdrName
nameRdrName Name
stringPrimLName
charPrimL_RDR :: RdrName
charPrimL_RDR   = Name -> RdrName
nameRdrName Name
charPrimLName