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