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