Injective type families
[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, thPackageKey )
11 import Name( Name )
12 import OccName( tcName, dataName, varName )
13 import Unique
14 import FastString
15
16 -- To add a name, do three things
17 --
18 -- 1) Allocate a key
19 -- 2) Make a "Name"
20 -- 3) Add the name to templateHaskellNames
21
22 templateHaskellNames :: [Name]
23 -- The names that are implicitly mentioned by ``bracket''
24 -- Should stay in sync with the import list of DsMeta
25
26 templateHaskellNames = [
27 returnQName, bindQName, sequenceQName, newNameName, liftName,
28 mkNameName, mkNameG_vName, mkNameG_dName, mkNameG_tcName, mkNameLName,
29 liftStringName,
30 unTypeName,
31 unTypeQName,
32 unsafeTExpCoerceName,
33
34 -- Lit
35 charLName, stringLName, integerLName, intPrimLName, wordPrimLName,
36 floatPrimLName, doublePrimLName, rationalLName, stringPrimLName,
37 charPrimLName,
38 -- Pat
39 litPName, varPName, tupPName, unboxedTupPName,
40 conPName, tildePName, bangPName, infixPName,
41 asPName, wildPName, recPName, listPName, sigPName, viewPName,
42 -- FieldPat
43 fieldPatName,
44 -- Match
45 matchName,
46 -- Clause
47 clauseName,
48 -- Exp
49 varEName, conEName, litEName, appEName, infixEName,
50 infixAppName, sectionLName, sectionRName, lamEName, lamCaseEName,
51 tupEName, unboxedTupEName,
52 condEName, multiIfEName, letEName, caseEName, doEName, compEName,
53 fromEName, fromThenEName, fromToEName, fromThenToEName,
54 listEName, sigEName, recConEName, recUpdEName, staticEName,
55 -- FieldExp
56 fieldExpName,
57 -- Body
58 guardedBName, normalBName,
59 -- Guard
60 normalGEName, patGEName,
61 -- Stmt
62 bindSName, letSName, noBindSName, parSName,
63 -- Dec
64 funDName, valDName, dataDName, newtypeDName, tySynDName,
65 classDName, instanceDName, standaloneDerivDName, sigDName, forImpDName,
66 pragInlDName, pragSpecDName, pragSpecInlDName, pragSpecInstDName,
67 pragRuleDName, pragAnnDName, defaultSigDName,
68 dataFamilyDName, openTypeFamilyDName, closedTypeFamilyDName,
69 dataInstDName, newtypeInstDName, tySynInstDName,
70 infixLDName, infixRDName, infixNDName,
71 roleAnnotDName,
72 -- Cxt
73 cxtName,
74 -- Strict
75 isStrictName, notStrictName, unpackedName,
76 -- Con
77 normalCName, recCName, infixCName, forallCName,
78 -- StrictType
79 strictTypeName,
80 -- VarStrictType
81 varStrictTypeName,
82 -- Type
83 forallTName, varTName, conTName, appTName, equalityTName,
84 tupleTName, unboxedTupleTName, arrowTName, listTName, sigTName, litTName,
85 promotedTName, promotedTupleTName, promotedNilTName, promotedConsTName,
86 wildCardTName, namedWildCardTName,
87 -- TyLit
88 numTyLitName, strTyLitName,
89 -- TyVarBndr
90 plainTVName, kindedTVName,
91 -- Role
92 nominalRName, representationalRName, phantomRName, inferRName,
93 -- Kind
94 varKName, conKName, tupleKName, arrowKName, listKName, appKName,
95 starKName, constraintKName,
96 -- FamilyResultSig
97 noSigName, kindSigName, tyVarSigName,
98 -- InjectivityAnn
99 injectivityAnnName,
100 -- Callconv
101 cCallName, stdCallName, cApiCallName, primCallName, javaScriptCallName,
102 -- Safety
103 unsafeName,
104 safeName,
105 interruptibleName,
106 -- Inline
107 noInlineDataConName, inlineDataConName, inlinableDataConName,
108 -- RuleMatch
109 conLikeDataConName, funLikeDataConName,
110 -- Phases
111 allPhasesDataConName, fromPhaseDataConName, beforePhaseDataConName,
112 -- TExp
113 tExpDataConName,
114 -- RuleBndr
115 ruleVarName, typedRuleVarName,
116 -- FunDep
117 funDepName,
118 -- FamFlavour
119 typeFamName, dataFamName,
120 -- TySynEqn
121 tySynEqnName,
122 -- AnnTarget
123 valueAnnotationName, typeAnnotationName, moduleAnnotationName,
124
125 -- And the tycons
126 qTyConName, nameTyConName, patTyConName, fieldPatTyConName, matchQTyConName,
127 clauseQTyConName, expQTyConName, fieldExpTyConName, predTyConName,
128 stmtQTyConName, decQTyConName, conQTyConName, strictTypeQTyConName,
129 varStrictTypeQTyConName, typeQTyConName, expTyConName, decTyConName,
130 typeTyConName, tyVarBndrTyConName, matchTyConName, clauseTyConName,
131 patQTyConName, fieldPatQTyConName, fieldExpQTyConName, funDepTyConName,
132 predQTyConName, decsQTyConName, ruleBndrQTyConName, tySynEqnQTyConName,
133 roleTyConName, tExpTyConName, injAnnTyConName, kindTyConName,
134
135 -- Quasiquoting
136 quoteDecName, quoteTypeName, quoteExpName, quotePatName]
137
138 thSyn, thLib, qqLib :: Module
139 thSyn = mkTHModule (fsLit "Language.Haskell.TH.Syntax")
140 thLib = mkTHModule (fsLit "Language.Haskell.TH.Lib")
141 qqLib = mkTHModule (fsLit "Language.Haskell.TH.Quote")
142
143 mkTHModule :: FastString -> Module
144 mkTHModule m = mkModule thPackageKey (mkModuleNameFS m)
145
146 libFun, libTc, thFun, thTc, thCon, qqFun :: FastString -> Unique -> Name
147 libFun = mk_known_key_name OccName.varName thLib
148 libTc = mk_known_key_name OccName.tcName thLib
149 thFun = mk_known_key_name OccName.varName thSyn
150 thTc = mk_known_key_name OccName.tcName thSyn
151 thCon = mk_known_key_name OccName.dataName thSyn
152 qqFun = mk_known_key_name OccName.varName qqLib
153
154 -------------------- TH.Syntax -----------------------
155 qTyConName, nameTyConName, fieldExpTyConName, patTyConName,
156 fieldPatTyConName, expTyConName, decTyConName, typeTyConName,
157 tyVarBndrTyConName, matchTyConName, clauseTyConName, funDepTyConName,
158 predTyConName, tExpTyConName, injAnnTyConName, kindTyConName :: Name
159 qTyConName = thTc (fsLit "Q") qTyConKey
160 nameTyConName = thTc (fsLit "Name") nameTyConKey
161 fieldExpTyConName = thTc (fsLit "FieldExp") fieldExpTyConKey
162 patTyConName = thTc (fsLit "Pat") patTyConKey
163 fieldPatTyConName = thTc (fsLit "FieldPat") fieldPatTyConKey
164 expTyConName = thTc (fsLit "Exp") expTyConKey
165 decTyConName = thTc (fsLit "Dec") decTyConKey
166 typeTyConName = thTc (fsLit "Type") typeTyConKey
167 tyVarBndrTyConName= thTc (fsLit "TyVarBndr") tyVarBndrTyConKey
168 matchTyConName = thTc (fsLit "Match") matchTyConKey
169 clauseTyConName = thTc (fsLit "Clause") clauseTyConKey
170 funDepTyConName = thTc (fsLit "FunDep") funDepTyConKey
171 predTyConName = thTc (fsLit "Pred") predTyConKey
172 tExpTyConName = thTc (fsLit "TExp") tExpTyConKey
173 injAnnTyConName = thTc (fsLit "InjectivityAnn") injAnnTyConKey
174 kindTyConName = thTc (fsLit "Kind") kindTyConKey
175
176
177 returnQName, bindQName, sequenceQName, newNameName, liftName,
178 mkNameName, mkNameG_vName, mkNameG_dName, mkNameG_tcName,
179 mkNameLName, liftStringName, unTypeName, unTypeQName,
180 unsafeTExpCoerceName :: Name
181 returnQName = thFun (fsLit "returnQ") returnQIdKey
182 bindQName = thFun (fsLit "bindQ") bindQIdKey
183 sequenceQName = thFun (fsLit "sequenceQ") sequenceQIdKey
184 newNameName = thFun (fsLit "newName") newNameIdKey
185 liftName = thFun (fsLit "lift") liftIdKey
186 liftStringName = thFun (fsLit "liftString") liftStringIdKey
187 mkNameName = thFun (fsLit "mkName") mkNameIdKey
188 mkNameG_vName = thFun (fsLit "mkNameG_v") mkNameG_vIdKey
189 mkNameG_dName = thFun (fsLit "mkNameG_d") mkNameG_dIdKey
190 mkNameG_tcName = thFun (fsLit "mkNameG_tc") mkNameG_tcIdKey
191 mkNameLName = thFun (fsLit "mkNameL") mkNameLIdKey
192 unTypeName = thFun (fsLit "unType") unTypeIdKey
193 unTypeQName = thFun (fsLit "unTypeQ") unTypeQIdKey
194 unsafeTExpCoerceName = thFun (fsLit "unsafeTExpCoerce") unsafeTExpCoerceIdKey
195
196
197 -------------------- TH.Lib -----------------------
198 -- data Lit = ...
199 charLName, stringLName, integerLName, intPrimLName, wordPrimLName,
200 floatPrimLName, doublePrimLName, rationalLName, stringPrimLName,
201 charPrimLName :: Name
202 charLName = libFun (fsLit "charL") charLIdKey
203 stringLName = libFun (fsLit "stringL") stringLIdKey
204 integerLName = libFun (fsLit "integerL") integerLIdKey
205 intPrimLName = libFun (fsLit "intPrimL") intPrimLIdKey
206 wordPrimLName = libFun (fsLit "wordPrimL") wordPrimLIdKey
207 floatPrimLName = libFun (fsLit "floatPrimL") floatPrimLIdKey
208 doublePrimLName = libFun (fsLit "doublePrimL") doublePrimLIdKey
209 rationalLName = libFun (fsLit "rationalL") rationalLIdKey
210 stringPrimLName = libFun (fsLit "stringPrimL") stringPrimLIdKey
211 charPrimLName = libFun (fsLit "charPrimL") charPrimLIdKey
212
213 -- data Pat = ...
214 litPName, varPName, tupPName, unboxedTupPName, conPName, infixPName, tildePName, bangPName,
215 asPName, wildPName, recPName, listPName, sigPName, viewPName :: Name
216 litPName = libFun (fsLit "litP") litPIdKey
217 varPName = libFun (fsLit "varP") varPIdKey
218 tupPName = libFun (fsLit "tupP") tupPIdKey
219 unboxedTupPName = libFun (fsLit "unboxedTupP") unboxedTupPIdKey
220 conPName = libFun (fsLit "conP") conPIdKey
221 infixPName = libFun (fsLit "infixP") infixPIdKey
222 tildePName = libFun (fsLit "tildeP") tildePIdKey
223 bangPName = libFun (fsLit "bangP") bangPIdKey
224 asPName = libFun (fsLit "asP") asPIdKey
225 wildPName = libFun (fsLit "wildP") wildPIdKey
226 recPName = libFun (fsLit "recP") recPIdKey
227 listPName = libFun (fsLit "listP") listPIdKey
228 sigPName = libFun (fsLit "sigP") sigPIdKey
229 viewPName = libFun (fsLit "viewP") viewPIdKey
230
231 -- type FieldPat = ...
232 fieldPatName :: Name
233 fieldPatName = libFun (fsLit "fieldPat") fieldPatIdKey
234
235 -- data Match = ...
236 matchName :: Name
237 matchName = libFun (fsLit "match") matchIdKey
238
239 -- data Clause = ...
240 clauseName :: Name
241 clauseName = libFun (fsLit "clause") clauseIdKey
242
243 -- data Exp = ...
244 varEName, conEName, litEName, appEName, infixEName, infixAppName,
245 sectionLName, sectionRName, lamEName, lamCaseEName, tupEName,
246 unboxedTupEName, condEName, multiIfEName, letEName, caseEName,
247 doEName, compEName, staticEName :: Name
248 varEName = libFun (fsLit "varE") varEIdKey
249 conEName = libFun (fsLit "conE") conEIdKey
250 litEName = libFun (fsLit "litE") litEIdKey
251 appEName = libFun (fsLit "appE") appEIdKey
252 infixEName = libFun (fsLit "infixE") infixEIdKey
253 infixAppName = libFun (fsLit "infixApp") infixAppIdKey
254 sectionLName = libFun (fsLit "sectionL") sectionLIdKey
255 sectionRName = libFun (fsLit "sectionR") sectionRIdKey
256 lamEName = libFun (fsLit "lamE") lamEIdKey
257 lamCaseEName = libFun (fsLit "lamCaseE") lamCaseEIdKey
258 tupEName = libFun (fsLit "tupE") tupEIdKey
259 unboxedTupEName = libFun (fsLit "unboxedTupE") unboxedTupEIdKey
260 condEName = libFun (fsLit "condE") condEIdKey
261 multiIfEName = libFun (fsLit "multiIfE") multiIfEIdKey
262 letEName = libFun (fsLit "letE") letEIdKey
263 caseEName = libFun (fsLit "caseE") caseEIdKey
264 doEName = libFun (fsLit "doE") doEIdKey
265 compEName = libFun (fsLit "compE") compEIdKey
266 -- ArithSeq skips a level
267 fromEName, fromThenEName, fromToEName, fromThenToEName :: Name
268 fromEName = libFun (fsLit "fromE") fromEIdKey
269 fromThenEName = libFun (fsLit "fromThenE") fromThenEIdKey
270 fromToEName = libFun (fsLit "fromToE") fromToEIdKey
271 fromThenToEName = libFun (fsLit "fromThenToE") fromThenToEIdKey
272 -- end ArithSeq
273 listEName, sigEName, recConEName, recUpdEName :: Name
274 listEName = libFun (fsLit "listE") listEIdKey
275 sigEName = libFun (fsLit "sigE") sigEIdKey
276 recConEName = libFun (fsLit "recConE") recConEIdKey
277 recUpdEName = libFun (fsLit "recUpdE") recUpdEIdKey
278 staticEName = libFun (fsLit "staticE") staticEIdKey
279
280 -- type FieldExp = ...
281 fieldExpName :: Name
282 fieldExpName = libFun (fsLit "fieldExp") fieldExpIdKey
283
284 -- data Body = ...
285 guardedBName, normalBName :: Name
286 guardedBName = libFun (fsLit "guardedB") guardedBIdKey
287 normalBName = libFun (fsLit "normalB") normalBIdKey
288
289 -- data Guard = ...
290 normalGEName, patGEName :: Name
291 normalGEName = libFun (fsLit "normalGE") normalGEIdKey
292 patGEName = libFun (fsLit "patGE") patGEIdKey
293
294 -- data Stmt = ...
295 bindSName, letSName, noBindSName, parSName :: Name
296 bindSName = libFun (fsLit "bindS") bindSIdKey
297 letSName = libFun (fsLit "letS") letSIdKey
298 noBindSName = libFun (fsLit "noBindS") noBindSIdKey
299 parSName = libFun (fsLit "parS") parSIdKey
300
301 -- data Dec = ...
302 funDName, valDName, dataDName, newtypeDName, tySynDName, classDName,
303 instanceDName, sigDName, forImpDName, pragInlDName, pragSpecDName,
304 pragSpecInlDName, pragSpecInstDName, pragRuleDName, pragAnnDName,
305 standaloneDerivDName, defaultSigDName,
306 dataInstDName, newtypeInstDName, tySynInstDName,
307 dataFamilyDName, openTypeFamilyDName, closedTypeFamilyDName,
308 infixLDName, infixRDName, infixNDName, roleAnnotDName :: Name
309 funDName = libFun (fsLit "funD") funDIdKey
310 valDName = libFun (fsLit "valD") valDIdKey
311 dataDName = libFun (fsLit "dataD") dataDIdKey
312 newtypeDName = libFun (fsLit "newtypeD") newtypeDIdKey
313 tySynDName = libFun (fsLit "tySynD") tySynDIdKey
314 classDName = libFun (fsLit "classD") classDIdKey
315 instanceDName = libFun (fsLit "instanceD") instanceDIdKey
316 standaloneDerivDName = libFun (fsLit "standaloneDerivD") standaloneDerivDIdKey
317 sigDName = libFun (fsLit "sigD") sigDIdKey
318 defaultSigDName = libFun (fsLit "defaultSigD") defaultSigDIdKey
319 forImpDName = libFun (fsLit "forImpD") forImpDIdKey
320 pragInlDName = libFun (fsLit "pragInlD") pragInlDIdKey
321 pragSpecDName = libFun (fsLit "pragSpecD") pragSpecDIdKey
322 pragSpecInlDName = libFun (fsLit "pragSpecInlD") pragSpecInlDIdKey
323 pragSpecInstDName = libFun (fsLit "pragSpecInstD") pragSpecInstDIdKey
324 pragRuleDName = libFun (fsLit "pragRuleD") pragRuleDIdKey
325 pragAnnDName = libFun (fsLit "pragAnnD") pragAnnDIdKey
326 dataInstDName = libFun (fsLit "dataInstD") dataInstDIdKey
327 newtypeInstDName = libFun (fsLit "newtypeInstD") newtypeInstDIdKey
328 tySynInstDName = libFun (fsLit "tySynInstD") tySynInstDIdKey
329 openTypeFamilyDName = libFun (fsLit "openTypeFamilyD") openTypeFamilyDIdKey
330 closedTypeFamilyDName= libFun (fsLit "closedTypeFamilyD") closedTypeFamilyDIdKey
331 dataFamilyDName = libFun (fsLit "dataFamilyD") dataFamilyDIdKey
332 infixLDName = libFun (fsLit "infixLD") infixLDIdKey
333 infixRDName = libFun (fsLit "infixRD") infixRDIdKey
334 infixNDName = libFun (fsLit "infixND") infixNDIdKey
335 roleAnnotDName = libFun (fsLit "roleAnnotD") roleAnnotDIdKey
336
337 -- type Ctxt = ...
338 cxtName :: Name
339 cxtName = libFun (fsLit "cxt") cxtIdKey
340
341 -- data Strict = ...
342 isStrictName, notStrictName, unpackedName :: Name
343 isStrictName = libFun (fsLit "isStrict") isStrictKey
344 notStrictName = libFun (fsLit "notStrict") notStrictKey
345 unpackedName = libFun (fsLit "unpacked") unpackedKey
346
347 -- data Con = ...
348 normalCName, recCName, infixCName, forallCName :: Name
349 normalCName = libFun (fsLit "normalC") normalCIdKey
350 recCName = libFun (fsLit "recC") recCIdKey
351 infixCName = libFun (fsLit "infixC") infixCIdKey
352 forallCName = libFun (fsLit "forallC") forallCIdKey
353
354 -- type StrictType = ...
355 strictTypeName :: Name
356 strictTypeName = libFun (fsLit "strictType") strictTKey
357
358 -- type VarStrictType = ...
359 varStrictTypeName :: Name
360 varStrictTypeName = libFun (fsLit "varStrictType") varStrictTKey
361
362 -- data Type = ...
363 forallTName, varTName, conTName, tupleTName, unboxedTupleTName, arrowTName,
364 listTName, appTName, sigTName, equalityTName, litTName,
365 promotedTName, promotedTupleTName,
366 promotedNilTName, promotedConsTName,
367 wildCardTName, namedWildCardTName :: Name
368 forallTName = libFun (fsLit "forallT") forallTIdKey
369 varTName = libFun (fsLit "varT") varTIdKey
370 conTName = libFun (fsLit "conT") conTIdKey
371 tupleTName = libFun (fsLit "tupleT") tupleTIdKey
372 unboxedTupleTName = libFun (fsLit "unboxedTupleT") unboxedTupleTIdKey
373 arrowTName = libFun (fsLit "arrowT") arrowTIdKey
374 listTName = libFun (fsLit "listT") listTIdKey
375 appTName = libFun (fsLit "appT") appTIdKey
376 sigTName = libFun (fsLit "sigT") sigTIdKey
377 equalityTName = libFun (fsLit "equalityT") equalityTIdKey
378 litTName = libFun (fsLit "litT") litTIdKey
379 promotedTName = libFun (fsLit "promotedT") promotedTIdKey
380 promotedTupleTName = libFun (fsLit "promotedTupleT") promotedTupleTIdKey
381 promotedNilTName = libFun (fsLit "promotedNilT") promotedNilTIdKey
382 promotedConsTName = libFun (fsLit "promotedConsT") promotedConsTIdKey
383 wildCardTName = libFun (fsLit "wildCardT") wildCardTIdKey
384 namedWildCardTName = libFun (fsLit "namedWildCardT") namedWildCardTIdKey
385
386
387 -- data TyLit = ...
388 numTyLitName, strTyLitName :: Name
389 numTyLitName = libFun (fsLit "numTyLit") numTyLitIdKey
390 strTyLitName = libFun (fsLit "strTyLit") strTyLitIdKey
391
392 -- data TyVarBndr = ...
393 plainTVName, kindedTVName :: Name
394 plainTVName = libFun (fsLit "plainTV") plainTVIdKey
395 kindedTVName = libFun (fsLit "kindedTV") kindedTVIdKey
396
397 -- data Role = ...
398 nominalRName, representationalRName, phantomRName, inferRName :: Name
399 nominalRName = libFun (fsLit "nominalR") nominalRIdKey
400 representationalRName = libFun (fsLit "representationalR") representationalRIdKey
401 phantomRName = libFun (fsLit "phantomR") phantomRIdKey
402 inferRName = libFun (fsLit "inferR") inferRIdKey
403
404 -- data Kind = ...
405 varKName, conKName, tupleKName, arrowKName, listKName, appKName,
406 starKName, constraintKName :: Name
407 varKName = libFun (fsLit "varK") varKIdKey
408 conKName = libFun (fsLit "conK") conKIdKey
409 tupleKName = libFun (fsLit "tupleK") tupleKIdKey
410 arrowKName = libFun (fsLit "arrowK") arrowKIdKey
411 listKName = libFun (fsLit "listK") listKIdKey
412 appKName = libFun (fsLit "appK") appKIdKey
413 starKName = libFun (fsLit "starK") starKIdKey
414 constraintKName = libFun (fsLit "constraintK") constraintKIdKey
415
416 -- data FamilyResultSig = ...
417 noSigName, kindSigName, tyVarSigName :: Name
418 noSigName = libFun (fsLit "noSig") noSigIdKey
419 kindSigName = libFun (fsLit "kindSig") kindSigIdKey
420 tyVarSigName = libFun (fsLit "tyVarSig") tyVarSigIdKey
421
422 -- data InjectivityAnn = ...
423 injectivityAnnName :: Name
424 injectivityAnnName = libFun (fsLit "injectivityAnn") injectivityAnnIdKey
425
426 -- data Callconv = ...
427 cCallName, stdCallName, cApiCallName, primCallName, javaScriptCallName :: Name
428 cCallName = libFun (fsLit "cCall") cCallIdKey
429 stdCallName = libFun (fsLit "stdCall") stdCallIdKey
430 cApiCallName = libFun (fsLit "cApi") cApiCallIdKey
431 primCallName = libFun (fsLit "prim") primCallIdKey
432 javaScriptCallName = libFun (fsLit "javaScript") javaScriptCallIdKey
433
434 -- data Safety = ...
435 unsafeName, safeName, interruptibleName :: Name
436 unsafeName = libFun (fsLit "unsafe") unsafeIdKey
437 safeName = libFun (fsLit "safe") safeIdKey
438 interruptibleName = libFun (fsLit "interruptible") interruptibleIdKey
439
440 -- data Inline = ...
441 noInlineDataConName, inlineDataConName, inlinableDataConName :: Name
442 noInlineDataConName = thCon (fsLit "NoInline") noInlineDataConKey
443 inlineDataConName = thCon (fsLit "Inline") inlineDataConKey
444 inlinableDataConName = thCon (fsLit "Inlinable") inlinableDataConKey
445
446 -- data RuleMatch = ...
447 conLikeDataConName, funLikeDataConName :: Name
448 conLikeDataConName = thCon (fsLit "ConLike") conLikeDataConKey
449 funLikeDataConName = thCon (fsLit "FunLike") funLikeDataConKey
450
451 -- data Phases = ...
452 allPhasesDataConName, fromPhaseDataConName, beforePhaseDataConName :: Name
453 allPhasesDataConName = thCon (fsLit "AllPhases") allPhasesDataConKey
454 fromPhaseDataConName = thCon (fsLit "FromPhase") fromPhaseDataConKey
455 beforePhaseDataConName = thCon (fsLit "BeforePhase") beforePhaseDataConKey
456
457 -- newtype TExp a = ...
458 tExpDataConName :: Name
459 tExpDataConName = thCon (fsLit "TExp") tExpDataConKey
460
461 -- data RuleBndr = ...
462 ruleVarName, typedRuleVarName :: Name
463 ruleVarName = libFun (fsLit ("ruleVar")) ruleVarIdKey
464 typedRuleVarName = libFun (fsLit ("typedRuleVar")) typedRuleVarIdKey
465
466 -- data FunDep = ...
467 funDepName :: Name
468 funDepName = libFun (fsLit "funDep") funDepIdKey
469
470 -- data FamFlavour = ...
471 typeFamName, dataFamName :: Name
472 typeFamName = libFun (fsLit "typeFam") typeFamIdKey
473 dataFamName = libFun (fsLit "dataFam") dataFamIdKey
474
475 -- data TySynEqn = ...
476 tySynEqnName :: Name
477 tySynEqnName = libFun (fsLit "tySynEqn") tySynEqnIdKey
478
479 -- data AnnTarget = ...
480 valueAnnotationName, typeAnnotationName, moduleAnnotationName :: Name
481 valueAnnotationName = libFun (fsLit "valueAnnotation") valueAnnotationIdKey
482 typeAnnotationName = libFun (fsLit "typeAnnotation") typeAnnotationIdKey
483 moduleAnnotationName = libFun (fsLit "moduleAnnotation") moduleAnnotationIdKey
484
485 matchQTyConName, clauseQTyConName, expQTyConName, stmtQTyConName,
486 decQTyConName, conQTyConName, strictTypeQTyConName,
487 varStrictTypeQTyConName, typeQTyConName, fieldExpQTyConName,
488 patQTyConName, fieldPatQTyConName, predQTyConName, decsQTyConName,
489 ruleBndrQTyConName, tySynEqnQTyConName, roleTyConName :: Name
490 matchQTyConName = libTc (fsLit "MatchQ") matchQTyConKey
491 clauseQTyConName = libTc (fsLit "ClauseQ") clauseQTyConKey
492 expQTyConName = libTc (fsLit "ExpQ") expQTyConKey
493 stmtQTyConName = libTc (fsLit "StmtQ") stmtQTyConKey
494 decQTyConName = libTc (fsLit "DecQ") decQTyConKey
495 decsQTyConName = libTc (fsLit "DecsQ") decsQTyConKey -- Q [Dec]
496 conQTyConName = libTc (fsLit "ConQ") conQTyConKey
497 strictTypeQTyConName = libTc (fsLit "StrictTypeQ") strictTypeQTyConKey
498 varStrictTypeQTyConName = libTc (fsLit "VarStrictTypeQ") varStrictTypeQTyConKey
499 typeQTyConName = libTc (fsLit "TypeQ") typeQTyConKey
500 fieldExpQTyConName = libTc (fsLit "FieldExpQ") fieldExpQTyConKey
501 patQTyConName = libTc (fsLit "PatQ") patQTyConKey
502 fieldPatQTyConName = libTc (fsLit "FieldPatQ") fieldPatQTyConKey
503 predQTyConName = libTc (fsLit "PredQ") predQTyConKey
504 ruleBndrQTyConName = libTc (fsLit "RuleBndrQ") ruleBndrQTyConKey
505 tySynEqnQTyConName = libTc (fsLit "TySynEqnQ") tySynEqnQTyConKey
506 roleTyConName = libTc (fsLit "Role") roleTyConKey
507
508 -- quasiquoting
509 quoteExpName, quotePatName, quoteDecName, quoteTypeName :: Name
510 quoteExpName = qqFun (fsLit "quoteExp") quoteExpKey
511 quotePatName = qqFun (fsLit "quotePat") quotePatKey
512 quoteDecName = qqFun (fsLit "quoteDec") quoteDecKey
513 quoteTypeName = qqFun (fsLit "quoteType") quoteTypeKey
514
515 -- TyConUniques available: 200-299
516 -- Check in PrelNames if you want to change this
517
518 expTyConKey, matchTyConKey, clauseTyConKey, qTyConKey, expQTyConKey,
519 decQTyConKey, patTyConKey, matchQTyConKey, clauseQTyConKey,
520 stmtQTyConKey, conQTyConKey, typeQTyConKey, typeTyConKey, tyVarBndrTyConKey,
521 decTyConKey, varStrictTypeQTyConKey, strictTypeQTyConKey,
522 fieldExpTyConKey, fieldPatTyConKey, nameTyConKey, patQTyConKey,
523 fieldPatQTyConKey, fieldExpQTyConKey, funDepTyConKey, predTyConKey,
524 predQTyConKey, decsQTyConKey, ruleBndrQTyConKey, tySynEqnQTyConKey,
525 roleTyConKey, tExpTyConKey, injAnnTyConKey, kindTyConKey :: Unique
526 expTyConKey = mkPreludeTyConUnique 200
527 matchTyConKey = mkPreludeTyConUnique 201
528 clauseTyConKey = mkPreludeTyConUnique 202
529 qTyConKey = mkPreludeTyConUnique 203
530 expQTyConKey = mkPreludeTyConUnique 204
531 decQTyConKey = mkPreludeTyConUnique 205
532 patTyConKey = mkPreludeTyConUnique 206
533 matchQTyConKey = mkPreludeTyConUnique 207
534 clauseQTyConKey = mkPreludeTyConUnique 208
535 stmtQTyConKey = mkPreludeTyConUnique 209
536 conQTyConKey = mkPreludeTyConUnique 210
537 typeQTyConKey = mkPreludeTyConUnique 211
538 typeTyConKey = mkPreludeTyConUnique 212
539 decTyConKey = mkPreludeTyConUnique 213
540 varStrictTypeQTyConKey = mkPreludeTyConUnique 214
541 strictTypeQTyConKey = mkPreludeTyConUnique 215
542 fieldExpTyConKey = mkPreludeTyConUnique 216
543 fieldPatTyConKey = mkPreludeTyConUnique 217
544 nameTyConKey = mkPreludeTyConUnique 218
545 patQTyConKey = mkPreludeTyConUnique 219
546 fieldPatQTyConKey = mkPreludeTyConUnique 220
547 fieldExpQTyConKey = mkPreludeTyConUnique 221
548 funDepTyConKey = mkPreludeTyConUnique 222
549 predTyConKey = mkPreludeTyConUnique 223
550 predQTyConKey = mkPreludeTyConUnique 224
551 tyVarBndrTyConKey = mkPreludeTyConUnique 225
552 decsQTyConKey = mkPreludeTyConUnique 226
553 ruleBndrQTyConKey = mkPreludeTyConUnique 227
554 tySynEqnQTyConKey = mkPreludeTyConUnique 228
555 roleTyConKey = mkPreludeTyConUnique 229
556 tExpTyConKey = mkPreludeTyConUnique 230
557 injAnnTyConKey = mkPreludeTyConUnique 231
558 kindTyConKey = mkPreludeTyConUnique 232
559
560 -- IdUniques available: 200-499
561 -- If you want to change this, make sure you check in PrelNames
562
563 returnQIdKey, bindQIdKey, sequenceQIdKey, liftIdKey, newNameIdKey,
564 mkNameIdKey, mkNameG_vIdKey, mkNameG_dIdKey, mkNameG_tcIdKey,
565 mkNameLIdKey, unTypeIdKey, unTypeQIdKey, unsafeTExpCoerceIdKey :: Unique
566 returnQIdKey = mkPreludeMiscIdUnique 200
567 bindQIdKey = mkPreludeMiscIdUnique 201
568 sequenceQIdKey = mkPreludeMiscIdUnique 202
569 liftIdKey = mkPreludeMiscIdUnique 203
570 newNameIdKey = mkPreludeMiscIdUnique 204
571 mkNameIdKey = mkPreludeMiscIdUnique 205
572 mkNameG_vIdKey = mkPreludeMiscIdUnique 206
573 mkNameG_dIdKey = mkPreludeMiscIdUnique 207
574 mkNameG_tcIdKey = mkPreludeMiscIdUnique 208
575 mkNameLIdKey = mkPreludeMiscIdUnique 209
576 unTypeIdKey = mkPreludeMiscIdUnique 210
577 unTypeQIdKey = mkPreludeMiscIdUnique 211
578 unsafeTExpCoerceIdKey = mkPreludeMiscIdUnique 212
579
580
581 -- data Lit = ...
582 charLIdKey, stringLIdKey, integerLIdKey, intPrimLIdKey, wordPrimLIdKey,
583 floatPrimLIdKey, doublePrimLIdKey, rationalLIdKey, stringPrimLIdKey,
584 charPrimLIdKey:: Unique
585 charLIdKey = mkPreludeMiscIdUnique 220
586 stringLIdKey = mkPreludeMiscIdUnique 221
587 integerLIdKey = mkPreludeMiscIdUnique 222
588 intPrimLIdKey = mkPreludeMiscIdUnique 223
589 wordPrimLIdKey = mkPreludeMiscIdUnique 224
590 floatPrimLIdKey = mkPreludeMiscIdUnique 225
591 doublePrimLIdKey = mkPreludeMiscIdUnique 226
592 rationalLIdKey = mkPreludeMiscIdUnique 227
593 stringPrimLIdKey = mkPreludeMiscIdUnique 228
594 charPrimLIdKey = mkPreludeMiscIdUnique 229
595
596 liftStringIdKey :: Unique
597 liftStringIdKey = mkPreludeMiscIdUnique 230
598
599 -- data Pat = ...
600 litPIdKey, varPIdKey, tupPIdKey, unboxedTupPIdKey, conPIdKey, infixPIdKey, tildePIdKey, bangPIdKey,
601 asPIdKey, wildPIdKey, recPIdKey, listPIdKey, sigPIdKey, viewPIdKey :: Unique
602 litPIdKey = mkPreludeMiscIdUnique 240
603 varPIdKey = mkPreludeMiscIdUnique 241
604 tupPIdKey = mkPreludeMiscIdUnique 242
605 unboxedTupPIdKey = mkPreludeMiscIdUnique 243
606 conPIdKey = mkPreludeMiscIdUnique 244
607 infixPIdKey = mkPreludeMiscIdUnique 245
608 tildePIdKey = mkPreludeMiscIdUnique 246
609 bangPIdKey = mkPreludeMiscIdUnique 247
610 asPIdKey = mkPreludeMiscIdUnique 248
611 wildPIdKey = mkPreludeMiscIdUnique 249
612 recPIdKey = mkPreludeMiscIdUnique 250
613 listPIdKey = mkPreludeMiscIdUnique 251
614 sigPIdKey = mkPreludeMiscIdUnique 252
615 viewPIdKey = mkPreludeMiscIdUnique 253
616
617 -- type FieldPat = ...
618 fieldPatIdKey :: Unique
619 fieldPatIdKey = mkPreludeMiscIdUnique 260
620
621 -- data Match = ...
622 matchIdKey :: Unique
623 matchIdKey = mkPreludeMiscIdUnique 261
624
625 -- data Clause = ...
626 clauseIdKey :: Unique
627 clauseIdKey = mkPreludeMiscIdUnique 262
628
629
630 -- data Exp = ...
631 varEIdKey, conEIdKey, litEIdKey, appEIdKey, infixEIdKey, infixAppIdKey,
632 sectionLIdKey, sectionRIdKey, lamEIdKey, lamCaseEIdKey, tupEIdKey,
633 unboxedTupEIdKey, condEIdKey, multiIfEIdKey,
634 letEIdKey, caseEIdKey, doEIdKey, compEIdKey,
635 fromEIdKey, fromThenEIdKey, fromToEIdKey, fromThenToEIdKey,
636 listEIdKey, sigEIdKey, recConEIdKey, recUpdEIdKey, staticEIdKey :: Unique
637 varEIdKey = mkPreludeMiscIdUnique 270
638 conEIdKey = mkPreludeMiscIdUnique 271
639 litEIdKey = mkPreludeMiscIdUnique 272
640 appEIdKey = mkPreludeMiscIdUnique 273
641 infixEIdKey = mkPreludeMiscIdUnique 274
642 infixAppIdKey = mkPreludeMiscIdUnique 275
643 sectionLIdKey = mkPreludeMiscIdUnique 276
644 sectionRIdKey = mkPreludeMiscIdUnique 277
645 lamEIdKey = mkPreludeMiscIdUnique 278
646 lamCaseEIdKey = mkPreludeMiscIdUnique 279
647 tupEIdKey = mkPreludeMiscIdUnique 280
648 unboxedTupEIdKey = mkPreludeMiscIdUnique 281
649 condEIdKey = mkPreludeMiscIdUnique 282
650 multiIfEIdKey = mkPreludeMiscIdUnique 283
651 letEIdKey = mkPreludeMiscIdUnique 284
652 caseEIdKey = mkPreludeMiscIdUnique 285
653 doEIdKey = mkPreludeMiscIdUnique 286
654 compEIdKey = mkPreludeMiscIdUnique 287
655 fromEIdKey = mkPreludeMiscIdUnique 288
656 fromThenEIdKey = mkPreludeMiscIdUnique 289
657 fromToEIdKey = mkPreludeMiscIdUnique 290
658 fromThenToEIdKey = mkPreludeMiscIdUnique 291
659 listEIdKey = mkPreludeMiscIdUnique 292
660 sigEIdKey = mkPreludeMiscIdUnique 293
661 recConEIdKey = mkPreludeMiscIdUnique 294
662 recUpdEIdKey = mkPreludeMiscIdUnique 295
663 staticEIdKey = mkPreludeMiscIdUnique 296
664
665 -- type FieldExp = ...
666 fieldExpIdKey :: Unique
667 fieldExpIdKey = mkPreludeMiscIdUnique 310
668
669 -- data Body = ...
670 guardedBIdKey, normalBIdKey :: Unique
671 guardedBIdKey = mkPreludeMiscIdUnique 311
672 normalBIdKey = mkPreludeMiscIdUnique 312
673
674 -- data Guard = ...
675 normalGEIdKey, patGEIdKey :: Unique
676 normalGEIdKey = mkPreludeMiscIdUnique 313
677 patGEIdKey = mkPreludeMiscIdUnique 314
678
679 -- data Stmt = ...
680 bindSIdKey, letSIdKey, noBindSIdKey, parSIdKey :: Unique
681 bindSIdKey = mkPreludeMiscIdUnique 320
682 letSIdKey = mkPreludeMiscIdUnique 321
683 noBindSIdKey = mkPreludeMiscIdUnique 322
684 parSIdKey = mkPreludeMiscIdUnique 323
685
686 -- data Dec = ...
687 funDIdKey, valDIdKey, dataDIdKey, newtypeDIdKey, tySynDIdKey,
688 classDIdKey, instanceDIdKey, sigDIdKey, forImpDIdKey, pragInlDIdKey,
689 pragSpecDIdKey, pragSpecInlDIdKey, pragSpecInstDIdKey, pragRuleDIdKey,
690 pragAnnDIdKey, defaultSigDIdKey, dataFamilyDIdKey, openTypeFamilyDIdKey,
691 closedTypeFamilyDIdKey, dataInstDIdKey, newtypeInstDIdKey, tySynInstDIdKey,
692 standaloneDerivDIdKey, infixLDIdKey, infixRDIdKey, infixNDIdKey,
693 roleAnnotDIdKey :: Unique
694 funDIdKey = mkPreludeMiscIdUnique 330
695 valDIdKey = mkPreludeMiscIdUnique 331
696 dataDIdKey = mkPreludeMiscIdUnique 332
697 newtypeDIdKey = mkPreludeMiscIdUnique 333
698 tySynDIdKey = mkPreludeMiscIdUnique 334
699 classDIdKey = mkPreludeMiscIdUnique 335
700 instanceDIdKey = mkPreludeMiscIdUnique 336
701 sigDIdKey = mkPreludeMiscIdUnique 337
702 forImpDIdKey = mkPreludeMiscIdUnique 338
703 pragInlDIdKey = mkPreludeMiscIdUnique 339
704 pragSpecDIdKey = mkPreludeMiscIdUnique 340
705 pragSpecInlDIdKey = mkPreludeMiscIdUnique 341
706 pragSpecInstDIdKey = mkPreludeMiscIdUnique 342
707 pragRuleDIdKey = mkPreludeMiscIdUnique 343
708 pragAnnDIdKey = mkPreludeMiscIdUnique 344
709 dataFamilyDIdKey = mkPreludeMiscIdUnique 345
710 openTypeFamilyDIdKey = mkPreludeMiscIdUnique 346
711 dataInstDIdKey = mkPreludeMiscIdUnique 347
712 newtypeInstDIdKey = mkPreludeMiscIdUnique 348
713 tySynInstDIdKey = mkPreludeMiscIdUnique 349
714 closedTypeFamilyDIdKey = mkPreludeMiscIdUnique 350
715 infixLDIdKey = mkPreludeMiscIdUnique 352
716 infixRDIdKey = mkPreludeMiscIdUnique 353
717 infixNDIdKey = mkPreludeMiscIdUnique 354
718 roleAnnotDIdKey = mkPreludeMiscIdUnique 355
719 standaloneDerivDIdKey = mkPreludeMiscIdUnique 356
720 defaultSigDIdKey = mkPreludeMiscIdUnique 357
721
722 -- type Cxt = ...
723 cxtIdKey :: Unique
724 cxtIdKey = mkPreludeMiscIdUnique 360
725
726 -- data Strict = ...
727 isStrictKey, notStrictKey, unpackedKey :: Unique
728 isStrictKey = mkPreludeMiscIdUnique 363
729 notStrictKey = mkPreludeMiscIdUnique 364
730 unpackedKey = mkPreludeMiscIdUnique 365
731
732 -- data Con = ...
733 normalCIdKey, recCIdKey, infixCIdKey, forallCIdKey :: Unique
734 normalCIdKey = mkPreludeMiscIdUnique 370
735 recCIdKey = mkPreludeMiscIdUnique 371
736 infixCIdKey = mkPreludeMiscIdUnique 372
737 forallCIdKey = mkPreludeMiscIdUnique 373
738
739 -- type StrictType = ...
740 strictTKey :: Unique
741 strictTKey = mkPreludeMiscIdUnique 374
742
743 -- type VarStrictType = ...
744 varStrictTKey :: Unique
745 varStrictTKey = mkPreludeMiscIdUnique 375
746
747 -- data Type = ...
748 forallTIdKey, varTIdKey, conTIdKey, tupleTIdKey, unboxedTupleTIdKey, arrowTIdKey,
749 listTIdKey, appTIdKey, sigTIdKey, equalityTIdKey, litTIdKey,
750 promotedTIdKey, promotedTupleTIdKey,
751 promotedNilTIdKey, promotedConsTIdKey,
752 wildCardTIdKey, namedWildCardTIdKey :: Unique
753 forallTIdKey = mkPreludeMiscIdUnique 380
754 varTIdKey = mkPreludeMiscIdUnique 381
755 conTIdKey = mkPreludeMiscIdUnique 382
756 tupleTIdKey = mkPreludeMiscIdUnique 383
757 unboxedTupleTIdKey = mkPreludeMiscIdUnique 384
758 arrowTIdKey = mkPreludeMiscIdUnique 385
759 listTIdKey = mkPreludeMiscIdUnique 386
760 appTIdKey = mkPreludeMiscIdUnique 387
761 sigTIdKey = mkPreludeMiscIdUnique 388
762 equalityTIdKey = mkPreludeMiscIdUnique 389
763 litTIdKey = mkPreludeMiscIdUnique 390
764 promotedTIdKey = mkPreludeMiscIdUnique 391
765 promotedTupleTIdKey = mkPreludeMiscIdUnique 392
766 promotedNilTIdKey = mkPreludeMiscIdUnique 393
767 promotedConsTIdKey = mkPreludeMiscIdUnique 394
768 wildCardTIdKey = mkPreludeMiscIdUnique 395
769 namedWildCardTIdKey = mkPreludeMiscIdUnique 396
770
771 -- data TyLit = ...
772 numTyLitIdKey, strTyLitIdKey :: Unique
773 numTyLitIdKey = mkPreludeMiscIdUnique 400
774 strTyLitIdKey = mkPreludeMiscIdUnique 401
775
776 -- data TyVarBndr = ...
777 plainTVIdKey, kindedTVIdKey :: Unique
778 plainTVIdKey = mkPreludeMiscIdUnique 402
779 kindedTVIdKey = mkPreludeMiscIdUnique 403
780
781 -- data Role = ...
782 nominalRIdKey, representationalRIdKey, phantomRIdKey, inferRIdKey :: Unique
783 nominalRIdKey = mkPreludeMiscIdUnique 404
784 representationalRIdKey = mkPreludeMiscIdUnique 405
785 phantomRIdKey = mkPreludeMiscIdUnique 406
786 inferRIdKey = mkPreludeMiscIdUnique 407
787
788 -- data Kind = ...
789 varKIdKey, conKIdKey, tupleKIdKey, arrowKIdKey, listKIdKey, appKIdKey,
790 starKIdKey, constraintKIdKey :: Unique
791 varKIdKey = mkPreludeMiscIdUnique 408
792 conKIdKey = mkPreludeMiscIdUnique 409
793 tupleKIdKey = mkPreludeMiscIdUnique 410
794 arrowKIdKey = mkPreludeMiscIdUnique 411
795 listKIdKey = mkPreludeMiscIdUnique 412
796 appKIdKey = mkPreludeMiscIdUnique 413
797 starKIdKey = mkPreludeMiscIdUnique 414
798 constraintKIdKey = mkPreludeMiscIdUnique 415
799
800 -- data FamilyResultSig = ...
801 noSigIdKey, kindSigIdKey, tyVarSigIdKey :: Unique
802 noSigIdKey = mkPreludeMiscIdUnique 416
803 kindSigIdKey = mkPreludeMiscIdUnique 417
804 tyVarSigIdKey = mkPreludeMiscIdUnique 418
805
806 -- data InjectivityAnn = ...
807 injectivityAnnIdKey :: Unique
808 injectivityAnnIdKey = mkPreludeMiscIdUnique 419
809
810 -- data Callconv = ...
811 cCallIdKey, stdCallIdKey, cApiCallIdKey, primCallIdKey,
812 javaScriptCallIdKey :: Unique
813 cCallIdKey = mkPreludeMiscIdUnique 420
814 stdCallIdKey = mkPreludeMiscIdUnique 421
815 cApiCallIdKey = mkPreludeMiscIdUnique 422
816 primCallIdKey = mkPreludeMiscIdUnique 423
817 javaScriptCallIdKey = mkPreludeMiscIdUnique 424
818
819 -- data Safety = ...
820 unsafeIdKey, safeIdKey, interruptibleIdKey :: Unique
821 unsafeIdKey = mkPreludeMiscIdUnique 430
822 safeIdKey = mkPreludeMiscIdUnique 431
823 interruptibleIdKey = mkPreludeMiscIdUnique 432
824
825 -- data Inline = ...
826 noInlineDataConKey, inlineDataConKey, inlinableDataConKey :: Unique
827 noInlineDataConKey = mkPreludeDataConUnique 40
828 inlineDataConKey = mkPreludeDataConUnique 41
829 inlinableDataConKey = mkPreludeDataConUnique 42
830
831 -- data RuleMatch = ...
832 conLikeDataConKey, funLikeDataConKey :: Unique
833 conLikeDataConKey = mkPreludeDataConUnique 43
834 funLikeDataConKey = mkPreludeDataConUnique 44
835
836 -- data Phases = ...
837 allPhasesDataConKey, fromPhaseDataConKey, beforePhaseDataConKey :: Unique
838 allPhasesDataConKey = mkPreludeDataConUnique 45
839 fromPhaseDataConKey = mkPreludeDataConUnique 46
840 beforePhaseDataConKey = mkPreludeDataConUnique 47
841
842 -- newtype TExp a = ...
843 tExpDataConKey :: Unique
844 tExpDataConKey = mkPreludeDataConUnique 48
845
846 -- data FunDep = ...
847 funDepIdKey :: Unique
848 funDepIdKey = mkPreludeMiscIdUnique 440
849
850 -- data FamFlavour = ...
851 typeFamIdKey, dataFamIdKey :: Unique
852 typeFamIdKey = mkPreludeMiscIdUnique 450
853 dataFamIdKey = mkPreludeMiscIdUnique 451
854
855 -- data TySynEqn = ...
856 tySynEqnIdKey :: Unique
857 tySynEqnIdKey = mkPreludeMiscIdUnique 460
858
859 -- quasiquoting
860 quoteExpKey, quotePatKey, quoteDecKey, quoteTypeKey :: Unique
861 quoteExpKey = mkPreludeMiscIdUnique 470
862 quotePatKey = mkPreludeMiscIdUnique 471
863 quoteDecKey = mkPreludeMiscIdUnique 472
864 quoteTypeKey = mkPreludeMiscIdUnique 473
865
866 -- data RuleBndr = ...
867 ruleVarIdKey, typedRuleVarIdKey :: Unique
868 ruleVarIdKey = mkPreludeMiscIdUnique 480
869 typedRuleVarIdKey = mkPreludeMiscIdUnique 481
870
871 -- data AnnTarget = ...
872 valueAnnotationIdKey, typeAnnotationIdKey, moduleAnnotationIdKey :: Unique
873 valueAnnotationIdKey = mkPreludeMiscIdUnique 490
874 typeAnnotationIdKey = mkPreludeMiscIdUnique 491
875 moduleAnnotationIdKey = mkPreludeMiscIdUnique 492