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