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