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