Add proper GADTs support to Template Haskell
[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, gadtCName, recGadtCName,
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, gadtCName, recGadtCName :: 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 gadtCName = libFun (fsLit "gadtC" ) gadtCIdKey
365 recGadtCName = libFun (fsLit "recGadtC") recGadtCIdKey
366
367 -- type StrictType = ...
368 strictTypeName :: Name
369 strictTypeName = libFun (fsLit "strictType") strictTKey
370
371 -- type VarStrictType = ...
372 varStrictTypeName :: Name
373 varStrictTypeName = libFun (fsLit "varStrictType") varStrictTKey
374
375 -- data Type = ...
376 forallTName, varTName, conTName, tupleTName, unboxedTupleTName, arrowTName,
377 listTName, appTName, sigTName, equalityTName, litTName,
378 promotedTName, promotedTupleTName,
379 promotedNilTName, promotedConsTName,
380 wildCardTName, namedWildCardTName :: Name
381 forallTName = libFun (fsLit "forallT") forallTIdKey
382 varTName = libFun (fsLit "varT") varTIdKey
383 conTName = libFun (fsLit "conT") conTIdKey
384 tupleTName = libFun (fsLit "tupleT") tupleTIdKey
385 unboxedTupleTName = libFun (fsLit "unboxedTupleT") unboxedTupleTIdKey
386 arrowTName = libFun (fsLit "arrowT") arrowTIdKey
387 listTName = libFun (fsLit "listT") listTIdKey
388 appTName = libFun (fsLit "appT") appTIdKey
389 sigTName = libFun (fsLit "sigT") sigTIdKey
390 equalityTName = libFun (fsLit "equalityT") equalityTIdKey
391 litTName = libFun (fsLit "litT") litTIdKey
392 promotedTName = libFun (fsLit "promotedT") promotedTIdKey
393 promotedTupleTName = libFun (fsLit "promotedTupleT") promotedTupleTIdKey
394 promotedNilTName = libFun (fsLit "promotedNilT") promotedNilTIdKey
395 promotedConsTName = libFun (fsLit "promotedConsT") promotedConsTIdKey
396 wildCardTName = libFun (fsLit "wildCardT") wildCardTIdKey
397 namedWildCardTName = libFun (fsLit "namedWildCardT") namedWildCardTIdKey
398
399
400 -- data TyLit = ...
401 numTyLitName, strTyLitName :: Name
402 numTyLitName = libFun (fsLit "numTyLit") numTyLitIdKey
403 strTyLitName = libFun (fsLit "strTyLit") strTyLitIdKey
404
405 -- data TyVarBndr = ...
406 plainTVName, kindedTVName :: Name
407 plainTVName = libFun (fsLit "plainTV") plainTVIdKey
408 kindedTVName = libFun (fsLit "kindedTV") kindedTVIdKey
409
410 -- data Role = ...
411 nominalRName, representationalRName, phantomRName, inferRName :: Name
412 nominalRName = libFun (fsLit "nominalR") nominalRIdKey
413 representationalRName = libFun (fsLit "representationalR") representationalRIdKey
414 phantomRName = libFun (fsLit "phantomR") phantomRIdKey
415 inferRName = libFun (fsLit "inferR") inferRIdKey
416
417 -- data Kind = ...
418 varKName, conKName, tupleKName, arrowKName, listKName, appKName,
419 starKName, constraintKName :: Name
420 varKName = libFun (fsLit "varK") varKIdKey
421 conKName = libFun (fsLit "conK") conKIdKey
422 tupleKName = libFun (fsLit "tupleK") tupleKIdKey
423 arrowKName = libFun (fsLit "arrowK") arrowKIdKey
424 listKName = libFun (fsLit "listK") listKIdKey
425 appKName = libFun (fsLit "appK") appKIdKey
426 starKName = libFun (fsLit "starK") starKIdKey
427 constraintKName = libFun (fsLit "constraintK") constraintKIdKey
428
429 -- data FamilyResultSig = ...
430 noSigName, kindSigName, tyVarSigName :: Name
431 noSigName = libFun (fsLit "noSig") noSigIdKey
432 kindSigName = libFun (fsLit "kindSig") kindSigIdKey
433 tyVarSigName = libFun (fsLit "tyVarSig") tyVarSigIdKey
434
435 -- data InjectivityAnn = ...
436 injectivityAnnName :: Name
437 injectivityAnnName = libFun (fsLit "injectivityAnn") injectivityAnnIdKey
438
439 -- data Callconv = ...
440 cCallName, stdCallName, cApiCallName, primCallName, javaScriptCallName :: Name
441 cCallName = libFun (fsLit "cCall") cCallIdKey
442 stdCallName = libFun (fsLit "stdCall") stdCallIdKey
443 cApiCallName = libFun (fsLit "cApi") cApiCallIdKey
444 primCallName = libFun (fsLit "prim") primCallIdKey
445 javaScriptCallName = libFun (fsLit "javaScript") javaScriptCallIdKey
446
447 -- data Safety = ...
448 unsafeName, safeName, interruptibleName :: Name
449 unsafeName = libFun (fsLit "unsafe") unsafeIdKey
450 safeName = libFun (fsLit "safe") safeIdKey
451 interruptibleName = libFun (fsLit "interruptible") interruptibleIdKey
452
453 -- newtype TExp a = ...
454 tExpDataConName :: Name
455 tExpDataConName = thCon (fsLit "TExp") tExpDataConKey
456
457 -- data RuleBndr = ...
458 ruleVarName, typedRuleVarName :: Name
459 ruleVarName = libFun (fsLit ("ruleVar")) ruleVarIdKey
460 typedRuleVarName = libFun (fsLit ("typedRuleVar")) typedRuleVarIdKey
461
462 -- data FunDep = ...
463 funDepName :: Name
464 funDepName = libFun (fsLit "funDep") funDepIdKey
465
466 -- data FamFlavour = ...
467 typeFamName, dataFamName :: Name
468 typeFamName = libFun (fsLit "typeFam") typeFamIdKey
469 dataFamName = libFun (fsLit "dataFam") dataFamIdKey
470
471 -- data TySynEqn = ...
472 tySynEqnName :: Name
473 tySynEqnName = libFun (fsLit "tySynEqn") tySynEqnIdKey
474
475 -- data AnnTarget = ...
476 valueAnnotationName, typeAnnotationName, moduleAnnotationName :: Name
477 valueAnnotationName = libFun (fsLit "valueAnnotation") valueAnnotationIdKey
478 typeAnnotationName = libFun (fsLit "typeAnnotation") typeAnnotationIdKey
479 moduleAnnotationName = libFun (fsLit "moduleAnnotation") moduleAnnotationIdKey
480
481 matchQTyConName, clauseQTyConName, expQTyConName, stmtQTyConName,
482 decQTyConName, conQTyConName, strictTypeQTyConName,
483 varStrictTypeQTyConName, typeQTyConName, fieldExpQTyConName,
484 patQTyConName, fieldPatQTyConName, predQTyConName, decsQTyConName,
485 ruleBndrQTyConName, tySynEqnQTyConName, roleTyConName :: Name
486 matchQTyConName = libTc (fsLit "MatchQ") matchQTyConKey
487 clauseQTyConName = libTc (fsLit "ClauseQ") clauseQTyConKey
488 expQTyConName = libTc (fsLit "ExpQ") expQTyConKey
489 stmtQTyConName = libTc (fsLit "StmtQ") stmtQTyConKey
490 decQTyConName = libTc (fsLit "DecQ") decQTyConKey
491 decsQTyConName = libTc (fsLit "DecsQ") decsQTyConKey -- Q [Dec]
492 conQTyConName = libTc (fsLit "ConQ") conQTyConKey
493 strictTypeQTyConName = libTc (fsLit "StrictTypeQ") strictTypeQTyConKey
494 varStrictTypeQTyConName = libTc (fsLit "VarStrictTypeQ") varStrictTypeQTyConKey
495 typeQTyConName = libTc (fsLit "TypeQ") typeQTyConKey
496 fieldExpQTyConName = libTc (fsLit "FieldExpQ") fieldExpQTyConKey
497 patQTyConName = libTc (fsLit "PatQ") patQTyConKey
498 fieldPatQTyConName = libTc (fsLit "FieldPatQ") fieldPatQTyConKey
499 predQTyConName = libTc (fsLit "PredQ") predQTyConKey
500 ruleBndrQTyConName = libTc (fsLit "RuleBndrQ") ruleBndrQTyConKey
501 tySynEqnQTyConName = libTc (fsLit "TySynEqnQ") tySynEqnQTyConKey
502 roleTyConName = libTc (fsLit "Role") roleTyConKey
503
504 -- quasiquoting
505 quoteExpName, quotePatName, quoteDecName, quoteTypeName :: Name
506 quoteExpName = qqFun (fsLit "quoteExp") quoteExpKey
507 quotePatName = qqFun (fsLit "quotePat") quotePatKey
508 quoteDecName = qqFun (fsLit "quoteDec") quoteDecKey
509 quoteTypeName = qqFun (fsLit "quoteType") quoteTypeKey
510
511 -- data Inline = ...
512 noInlineDataConName, inlineDataConName, inlinableDataConName :: Name
513 noInlineDataConName = thCon (fsLit "NoInline") noInlineDataConKey
514 inlineDataConName = thCon (fsLit "Inline") inlineDataConKey
515 inlinableDataConName = thCon (fsLit "Inlinable") inlinableDataConKey
516
517 -- data RuleMatch = ...
518 conLikeDataConName, funLikeDataConName :: Name
519 conLikeDataConName = thCon (fsLit "ConLike") conLikeDataConKey
520 funLikeDataConName = thCon (fsLit "FunLike") funLikeDataConKey
521
522 -- data Phases = ...
523 allPhasesDataConName, fromPhaseDataConName, beforePhaseDataConName :: Name
524 allPhasesDataConName = thCon (fsLit "AllPhases") allPhasesDataConKey
525 fromPhaseDataConName = thCon (fsLit "FromPhase") fromPhaseDataConKey
526 beforePhaseDataConName = thCon (fsLit "BeforePhase") beforePhaseDataConKey
527
528
529 {- *********************************************************************
530 * *
531 Class keys
532 * *
533 ********************************************************************* -}
534
535 -- ClassUniques available: 200-299
536 -- Check in PrelNames if you want to change this
537
538 liftClassKey :: Unique
539 liftClassKey = mkPreludeClassUnique 200
540
541 {- *********************************************************************
542 * *
543 TyCon keys
544 * *
545 ********************************************************************* -}
546
547 -- TyConUniques available: 200-299
548 -- Check in PrelNames if you want to change this
549
550 expTyConKey, matchTyConKey, clauseTyConKey, qTyConKey, expQTyConKey,
551 decQTyConKey, patTyConKey, matchQTyConKey, clauseQTyConKey,
552 stmtQTyConKey, conQTyConKey, typeQTyConKey, typeTyConKey, tyVarBndrTyConKey,
553 decTyConKey, varStrictTypeQTyConKey, strictTypeQTyConKey,
554 fieldExpTyConKey, fieldPatTyConKey, nameTyConKey, patQTyConKey,
555 fieldPatQTyConKey, fieldExpQTyConKey, funDepTyConKey, predTyConKey,
556 predQTyConKey, decsQTyConKey, ruleBndrQTyConKey, tySynEqnQTyConKey,
557 roleTyConKey, tExpTyConKey, injAnnTyConKey, kindTyConKey :: Unique
558 expTyConKey = mkPreludeTyConUnique 200
559 matchTyConKey = mkPreludeTyConUnique 201
560 clauseTyConKey = mkPreludeTyConUnique 202
561 qTyConKey = mkPreludeTyConUnique 203
562 expQTyConKey = mkPreludeTyConUnique 204
563 decQTyConKey = mkPreludeTyConUnique 205
564 patTyConKey = mkPreludeTyConUnique 206
565 matchQTyConKey = mkPreludeTyConUnique 207
566 clauseQTyConKey = mkPreludeTyConUnique 208
567 stmtQTyConKey = mkPreludeTyConUnique 209
568 conQTyConKey = mkPreludeTyConUnique 210
569 typeQTyConKey = mkPreludeTyConUnique 211
570 typeTyConKey = mkPreludeTyConUnique 212
571 decTyConKey = mkPreludeTyConUnique 213
572 varStrictTypeQTyConKey = mkPreludeTyConUnique 214
573 strictTypeQTyConKey = mkPreludeTyConUnique 215
574 fieldExpTyConKey = mkPreludeTyConUnique 216
575 fieldPatTyConKey = mkPreludeTyConUnique 217
576 nameTyConKey = mkPreludeTyConUnique 218
577 patQTyConKey = mkPreludeTyConUnique 219
578 fieldPatQTyConKey = mkPreludeTyConUnique 220
579 fieldExpQTyConKey = mkPreludeTyConUnique 221
580 funDepTyConKey = mkPreludeTyConUnique 222
581 predTyConKey = mkPreludeTyConUnique 223
582 predQTyConKey = mkPreludeTyConUnique 224
583 tyVarBndrTyConKey = mkPreludeTyConUnique 225
584 decsQTyConKey = mkPreludeTyConUnique 226
585 ruleBndrQTyConKey = mkPreludeTyConUnique 227
586 tySynEqnQTyConKey = mkPreludeTyConUnique 228
587 roleTyConKey = mkPreludeTyConUnique 229
588 tExpTyConKey = mkPreludeTyConUnique 230
589 injAnnTyConKey = mkPreludeTyConUnique 231
590 kindTyConKey = mkPreludeTyConUnique 232
591
592 {- *********************************************************************
593 * *
594 DataCon keys
595 * *
596 ********************************************************************* -}
597
598 -- DataConUniques available: 100-150
599 -- If you want to change this, make sure you check in PrelNames
600
601 -- data Inline = ...
602 noInlineDataConKey, inlineDataConKey, inlinableDataConKey :: Unique
603 noInlineDataConKey = mkPreludeDataConUnique 100
604 inlineDataConKey = mkPreludeDataConUnique 101
605 inlinableDataConKey = mkPreludeDataConUnique 102
606
607 -- data RuleMatch = ...
608 conLikeDataConKey, funLikeDataConKey :: Unique
609 conLikeDataConKey = mkPreludeDataConUnique 103
610 funLikeDataConKey = mkPreludeDataConUnique 104
611
612 -- data Phases = ...
613 allPhasesDataConKey, fromPhaseDataConKey, beforePhaseDataConKey :: Unique
614 allPhasesDataConKey = mkPreludeDataConUnique 105
615 fromPhaseDataConKey = mkPreludeDataConUnique 106
616 beforePhaseDataConKey = mkPreludeDataConUnique 107
617
618 -- newtype TExp a = ...
619 tExpDataConKey :: Unique
620 tExpDataConKey = mkPreludeDataConUnique 108
621
622
623 {- *********************************************************************
624 * *
625 Id keys
626 * *
627 ********************************************************************* -}
628
629 -- IdUniques available: 200-499
630 -- If you want to change this, make sure you check in PrelNames
631
632 returnQIdKey, bindQIdKey, sequenceQIdKey, liftIdKey, newNameIdKey,
633 mkNameIdKey, mkNameG_vIdKey, mkNameG_dIdKey, mkNameG_tcIdKey,
634 mkNameLIdKey, mkNameSIdKey, unTypeIdKey, unTypeQIdKey,
635 unsafeTExpCoerceIdKey :: Unique
636 returnQIdKey = mkPreludeMiscIdUnique 200
637 bindQIdKey = mkPreludeMiscIdUnique 201
638 sequenceQIdKey = mkPreludeMiscIdUnique 202
639 liftIdKey = mkPreludeMiscIdUnique 203
640 newNameIdKey = mkPreludeMiscIdUnique 204
641 mkNameIdKey = mkPreludeMiscIdUnique 205
642 mkNameG_vIdKey = mkPreludeMiscIdUnique 206
643 mkNameG_dIdKey = mkPreludeMiscIdUnique 207
644 mkNameG_tcIdKey = mkPreludeMiscIdUnique 208
645 mkNameLIdKey = mkPreludeMiscIdUnique 209
646 mkNameSIdKey = mkPreludeMiscIdUnique 210
647 unTypeIdKey = mkPreludeMiscIdUnique 211
648 unTypeQIdKey = mkPreludeMiscIdUnique 212
649 unsafeTExpCoerceIdKey = mkPreludeMiscIdUnique 213
650
651
652 -- data Lit = ...
653 charLIdKey, stringLIdKey, integerLIdKey, intPrimLIdKey, wordPrimLIdKey,
654 floatPrimLIdKey, doublePrimLIdKey, rationalLIdKey, stringPrimLIdKey,
655 charPrimLIdKey:: Unique
656 charLIdKey = mkPreludeMiscIdUnique 220
657 stringLIdKey = mkPreludeMiscIdUnique 221
658 integerLIdKey = mkPreludeMiscIdUnique 222
659 intPrimLIdKey = mkPreludeMiscIdUnique 223
660 wordPrimLIdKey = mkPreludeMiscIdUnique 224
661 floatPrimLIdKey = mkPreludeMiscIdUnique 225
662 doublePrimLIdKey = mkPreludeMiscIdUnique 226
663 rationalLIdKey = mkPreludeMiscIdUnique 227
664 stringPrimLIdKey = mkPreludeMiscIdUnique 228
665 charPrimLIdKey = mkPreludeMiscIdUnique 229
666
667 liftStringIdKey :: Unique
668 liftStringIdKey = mkPreludeMiscIdUnique 230
669
670 -- data Pat = ...
671 litPIdKey, varPIdKey, tupPIdKey, unboxedTupPIdKey, conPIdKey, infixPIdKey, tildePIdKey, bangPIdKey,
672 asPIdKey, wildPIdKey, recPIdKey, listPIdKey, sigPIdKey, viewPIdKey :: Unique
673 litPIdKey = mkPreludeMiscIdUnique 240
674 varPIdKey = mkPreludeMiscIdUnique 241
675 tupPIdKey = mkPreludeMiscIdUnique 242
676 unboxedTupPIdKey = mkPreludeMiscIdUnique 243
677 conPIdKey = mkPreludeMiscIdUnique 244
678 infixPIdKey = mkPreludeMiscIdUnique 245
679 tildePIdKey = mkPreludeMiscIdUnique 246
680 bangPIdKey = mkPreludeMiscIdUnique 247
681 asPIdKey = mkPreludeMiscIdUnique 248
682 wildPIdKey = mkPreludeMiscIdUnique 249
683 recPIdKey = mkPreludeMiscIdUnique 250
684 listPIdKey = mkPreludeMiscIdUnique 251
685 sigPIdKey = mkPreludeMiscIdUnique 252
686 viewPIdKey = mkPreludeMiscIdUnique 253
687
688 -- type FieldPat = ...
689 fieldPatIdKey :: Unique
690 fieldPatIdKey = mkPreludeMiscIdUnique 260
691
692 -- data Match = ...
693 matchIdKey :: Unique
694 matchIdKey = mkPreludeMiscIdUnique 261
695
696 -- data Clause = ...
697 clauseIdKey :: Unique
698 clauseIdKey = mkPreludeMiscIdUnique 262
699
700
701 -- data Exp = ...
702 varEIdKey, conEIdKey, litEIdKey, appEIdKey, infixEIdKey, infixAppIdKey,
703 sectionLIdKey, sectionRIdKey, lamEIdKey, lamCaseEIdKey, tupEIdKey,
704 unboxedTupEIdKey, condEIdKey, multiIfEIdKey,
705 letEIdKey, caseEIdKey, doEIdKey, compEIdKey,
706 fromEIdKey, fromThenEIdKey, fromToEIdKey, fromThenToEIdKey,
707 listEIdKey, sigEIdKey, recConEIdKey, recUpdEIdKey, staticEIdKey,
708 unboundVarEIdKey :: Unique
709 varEIdKey = mkPreludeMiscIdUnique 270
710 conEIdKey = mkPreludeMiscIdUnique 271
711 litEIdKey = mkPreludeMiscIdUnique 272
712 appEIdKey = mkPreludeMiscIdUnique 273
713 infixEIdKey = mkPreludeMiscIdUnique 274
714 infixAppIdKey = mkPreludeMiscIdUnique 275
715 sectionLIdKey = mkPreludeMiscIdUnique 276
716 sectionRIdKey = mkPreludeMiscIdUnique 277
717 lamEIdKey = mkPreludeMiscIdUnique 278
718 lamCaseEIdKey = mkPreludeMiscIdUnique 279
719 tupEIdKey = mkPreludeMiscIdUnique 280
720 unboxedTupEIdKey = mkPreludeMiscIdUnique 281
721 condEIdKey = mkPreludeMiscIdUnique 282
722 multiIfEIdKey = mkPreludeMiscIdUnique 283
723 letEIdKey = mkPreludeMiscIdUnique 284
724 caseEIdKey = mkPreludeMiscIdUnique 285
725 doEIdKey = mkPreludeMiscIdUnique 286
726 compEIdKey = mkPreludeMiscIdUnique 287
727 fromEIdKey = mkPreludeMiscIdUnique 288
728 fromThenEIdKey = mkPreludeMiscIdUnique 289
729 fromToEIdKey = mkPreludeMiscIdUnique 290
730 fromThenToEIdKey = mkPreludeMiscIdUnique 291
731 listEIdKey = mkPreludeMiscIdUnique 292
732 sigEIdKey = mkPreludeMiscIdUnique 293
733 recConEIdKey = mkPreludeMiscIdUnique 294
734 recUpdEIdKey = mkPreludeMiscIdUnique 295
735 staticEIdKey = mkPreludeMiscIdUnique 296
736 unboundVarEIdKey = mkPreludeMiscIdUnique 297
737
738 -- type FieldExp = ...
739 fieldExpIdKey :: Unique
740 fieldExpIdKey = mkPreludeMiscIdUnique 310
741
742 -- data Body = ...
743 guardedBIdKey, normalBIdKey :: Unique
744 guardedBIdKey = mkPreludeMiscIdUnique 311
745 normalBIdKey = mkPreludeMiscIdUnique 312
746
747 -- data Guard = ...
748 normalGEIdKey, patGEIdKey :: Unique
749 normalGEIdKey = mkPreludeMiscIdUnique 313
750 patGEIdKey = mkPreludeMiscIdUnique 314
751
752 -- data Stmt = ...
753 bindSIdKey, letSIdKey, noBindSIdKey, parSIdKey :: Unique
754 bindSIdKey = mkPreludeMiscIdUnique 320
755 letSIdKey = mkPreludeMiscIdUnique 321
756 noBindSIdKey = mkPreludeMiscIdUnique 322
757 parSIdKey = mkPreludeMiscIdUnique 323
758
759 -- data Dec = ...
760 funDIdKey, valDIdKey, dataDIdKey, newtypeDIdKey, tySynDIdKey,
761 classDIdKey, instanceDIdKey, sigDIdKey, forImpDIdKey, pragInlDIdKey,
762 pragSpecDIdKey, pragSpecInlDIdKey, pragSpecInstDIdKey, pragRuleDIdKey,
763 pragAnnDIdKey, defaultSigDIdKey, dataFamilyDIdKey, openTypeFamilyDIdKey,
764 closedTypeFamilyDIdKey, dataInstDIdKey, newtypeInstDIdKey, tySynInstDIdKey,
765 standaloneDerivDIdKey, infixLDIdKey, infixRDIdKey, infixNDIdKey,
766 roleAnnotDIdKey :: Unique
767 funDIdKey = mkPreludeMiscIdUnique 330
768 valDIdKey = mkPreludeMiscIdUnique 331
769 dataDIdKey = mkPreludeMiscIdUnique 332
770 newtypeDIdKey = mkPreludeMiscIdUnique 333
771 tySynDIdKey = mkPreludeMiscIdUnique 334
772 classDIdKey = mkPreludeMiscIdUnique 335
773 instanceDIdKey = mkPreludeMiscIdUnique 336
774 sigDIdKey = mkPreludeMiscIdUnique 337
775 forImpDIdKey = mkPreludeMiscIdUnique 338
776 pragInlDIdKey = mkPreludeMiscIdUnique 339
777 pragSpecDIdKey = mkPreludeMiscIdUnique 340
778 pragSpecInlDIdKey = mkPreludeMiscIdUnique 341
779 pragSpecInstDIdKey = mkPreludeMiscIdUnique 342
780 pragRuleDIdKey = mkPreludeMiscIdUnique 343
781 pragAnnDIdKey = mkPreludeMiscIdUnique 344
782 dataFamilyDIdKey = mkPreludeMiscIdUnique 345
783 openTypeFamilyDIdKey = mkPreludeMiscIdUnique 346
784 dataInstDIdKey = mkPreludeMiscIdUnique 347
785 newtypeInstDIdKey = mkPreludeMiscIdUnique 348
786 tySynInstDIdKey = mkPreludeMiscIdUnique 349
787 closedTypeFamilyDIdKey = mkPreludeMiscIdUnique 350
788 infixLDIdKey = mkPreludeMiscIdUnique 352
789 infixRDIdKey = mkPreludeMiscIdUnique 353
790 infixNDIdKey = mkPreludeMiscIdUnique 354
791 roleAnnotDIdKey = mkPreludeMiscIdUnique 355
792 standaloneDerivDIdKey = mkPreludeMiscIdUnique 356
793 defaultSigDIdKey = mkPreludeMiscIdUnique 357
794
795 -- type Cxt = ...
796 cxtIdKey :: Unique
797 cxtIdKey = mkPreludeMiscIdUnique 360
798
799 -- data Strict = ...
800 isStrictKey, notStrictKey, unpackedKey :: Unique
801 isStrictKey = mkPreludeMiscIdUnique 363
802 notStrictKey = mkPreludeMiscIdUnique 364
803 unpackedKey = mkPreludeMiscIdUnique 365
804
805 -- data Con = ...
806 normalCIdKey, recCIdKey, infixCIdKey, forallCIdKey, gadtCIdKey,
807 recGadtCIdKey :: Unique
808 normalCIdKey = mkPreludeMiscIdUnique 370
809 recCIdKey = mkPreludeMiscIdUnique 371
810 infixCIdKey = mkPreludeMiscIdUnique 372
811 forallCIdKey = mkPreludeMiscIdUnique 373
812 gadtCIdKey = mkPreludeMiscIdUnique 374
813 recGadtCIdKey = mkPreludeMiscIdUnique 375
814
815 -- type StrictType = ...
816 strictTKey :: Unique
817 strictTKey = mkPreludeMiscIdUnique 376
818
819 -- type VarStrictType = ...
820 varStrictTKey :: Unique
821 varStrictTKey = mkPreludeMiscIdUnique 377
822
823 -- data Type = ...
824 forallTIdKey, varTIdKey, conTIdKey, tupleTIdKey, unboxedTupleTIdKey, arrowTIdKey,
825 listTIdKey, appTIdKey, sigTIdKey, equalityTIdKey, litTIdKey,
826 promotedTIdKey, promotedTupleTIdKey,
827 promotedNilTIdKey, promotedConsTIdKey,
828 wildCardTIdKey, namedWildCardTIdKey :: Unique
829 forallTIdKey = mkPreludeMiscIdUnique 380
830 varTIdKey = mkPreludeMiscIdUnique 381
831 conTIdKey = mkPreludeMiscIdUnique 382
832 tupleTIdKey = mkPreludeMiscIdUnique 383
833 unboxedTupleTIdKey = mkPreludeMiscIdUnique 384
834 arrowTIdKey = mkPreludeMiscIdUnique 385
835 listTIdKey = mkPreludeMiscIdUnique 386
836 appTIdKey = mkPreludeMiscIdUnique 387
837 sigTIdKey = mkPreludeMiscIdUnique 388
838 equalityTIdKey = mkPreludeMiscIdUnique 389
839 litTIdKey = mkPreludeMiscIdUnique 390
840 promotedTIdKey = mkPreludeMiscIdUnique 391
841 promotedTupleTIdKey = mkPreludeMiscIdUnique 392
842 promotedNilTIdKey = mkPreludeMiscIdUnique 393
843 promotedConsTIdKey = mkPreludeMiscIdUnique 394
844 wildCardTIdKey = mkPreludeMiscIdUnique 395
845 namedWildCardTIdKey = mkPreludeMiscIdUnique 396
846
847 -- data TyLit = ...
848 numTyLitIdKey, strTyLitIdKey :: Unique
849 numTyLitIdKey = mkPreludeMiscIdUnique 400
850 strTyLitIdKey = mkPreludeMiscIdUnique 401
851
852 -- data TyVarBndr = ...
853 plainTVIdKey, kindedTVIdKey :: Unique
854 plainTVIdKey = mkPreludeMiscIdUnique 402
855 kindedTVIdKey = mkPreludeMiscIdUnique 403
856
857 -- data Role = ...
858 nominalRIdKey, representationalRIdKey, phantomRIdKey, inferRIdKey :: Unique
859 nominalRIdKey = mkPreludeMiscIdUnique 404
860 representationalRIdKey = mkPreludeMiscIdUnique 405
861 phantomRIdKey = mkPreludeMiscIdUnique 406
862 inferRIdKey = mkPreludeMiscIdUnique 407
863
864 -- data Kind = ...
865 varKIdKey, conKIdKey, tupleKIdKey, arrowKIdKey, listKIdKey, appKIdKey,
866 starKIdKey, constraintKIdKey :: Unique
867 varKIdKey = mkPreludeMiscIdUnique 408
868 conKIdKey = mkPreludeMiscIdUnique 409
869 tupleKIdKey = mkPreludeMiscIdUnique 410
870 arrowKIdKey = mkPreludeMiscIdUnique 411
871 listKIdKey = mkPreludeMiscIdUnique 412
872 appKIdKey = mkPreludeMiscIdUnique 413
873 starKIdKey = mkPreludeMiscIdUnique 414
874 constraintKIdKey = mkPreludeMiscIdUnique 415
875
876 -- data FamilyResultSig = ...
877 noSigIdKey, kindSigIdKey, tyVarSigIdKey :: Unique
878 noSigIdKey = mkPreludeMiscIdUnique 416
879 kindSigIdKey = mkPreludeMiscIdUnique 417
880 tyVarSigIdKey = mkPreludeMiscIdUnique 418
881
882 -- data InjectivityAnn = ...
883 injectivityAnnIdKey :: Unique
884 injectivityAnnIdKey = mkPreludeMiscIdUnique 419
885
886 -- data Callconv = ...
887 cCallIdKey, stdCallIdKey, cApiCallIdKey, primCallIdKey,
888 javaScriptCallIdKey :: Unique
889 cCallIdKey = mkPreludeMiscIdUnique 420
890 stdCallIdKey = mkPreludeMiscIdUnique 421
891 cApiCallIdKey = mkPreludeMiscIdUnique 422
892 primCallIdKey = mkPreludeMiscIdUnique 423
893 javaScriptCallIdKey = mkPreludeMiscIdUnique 424
894
895 -- data Safety = ...
896 unsafeIdKey, safeIdKey, interruptibleIdKey :: Unique
897 unsafeIdKey = mkPreludeMiscIdUnique 430
898 safeIdKey = mkPreludeMiscIdUnique 431
899 interruptibleIdKey = mkPreludeMiscIdUnique 432
900
901 -- data FunDep = ...
902 funDepIdKey :: Unique
903 funDepIdKey = mkPreludeMiscIdUnique 440
904
905 -- data FamFlavour = ...
906 typeFamIdKey, dataFamIdKey :: Unique
907 typeFamIdKey = mkPreludeMiscIdUnique 450
908 dataFamIdKey = mkPreludeMiscIdUnique 451
909
910 -- data TySynEqn = ...
911 tySynEqnIdKey :: Unique
912 tySynEqnIdKey = mkPreludeMiscIdUnique 460
913
914 -- quasiquoting
915 quoteExpKey, quotePatKey, quoteDecKey, quoteTypeKey :: Unique
916 quoteExpKey = mkPreludeMiscIdUnique 470
917 quotePatKey = mkPreludeMiscIdUnique 471
918 quoteDecKey = mkPreludeMiscIdUnique 472
919 quoteTypeKey = mkPreludeMiscIdUnique 473
920
921 -- data RuleBndr = ...
922 ruleVarIdKey, typedRuleVarIdKey :: Unique
923 ruleVarIdKey = mkPreludeMiscIdUnique 480
924 typedRuleVarIdKey = mkPreludeMiscIdUnique 481
925
926 -- data AnnTarget = ...
927 valueAnnotationIdKey, typeAnnotationIdKey, moduleAnnotationIdKey :: Unique
928 valueAnnotationIdKey = mkPreludeMiscIdUnique 490
929 typeAnnotationIdKey = mkPreludeMiscIdUnique 491
930 moduleAnnotationIdKey = mkPreludeMiscIdUnique 492
931
932 {-
933 ************************************************************************
934 * *
935 RdrNames
936 * *
937 ************************************************************************
938 -}
939
940 lift_RDR, mkNameG_dRDR, mkNameG_vRDR :: RdrName
941 lift_RDR = nameRdrName liftName
942 mkNameG_dRDR = nameRdrName mkNameG_dName
943 mkNameG_vRDR = nameRdrName mkNameG_vName
944
945 -- data Exp = ...
946 conE_RDR, litE_RDR, appE_RDR, infixApp_RDR :: RdrName
947 conE_RDR = nameRdrName conEName
948 litE_RDR = nameRdrName litEName
949 appE_RDR = nameRdrName appEName
950 infixApp_RDR = nameRdrName infixAppName
951
952 -- data Lit = ...
953 stringL_RDR, intPrimL_RDR, wordPrimL_RDR, floatPrimL_RDR,
954 doublePrimL_RDR, stringPrimL_RDR, charPrimL_RDR :: RdrName
955 stringL_RDR = nameRdrName stringLName
956 intPrimL_RDR = nameRdrName intPrimLName
957 wordPrimL_RDR = nameRdrName wordPrimLName
958 floatPrimL_RDR = nameRdrName floatPrimLName
959 doublePrimL_RDR = nameRdrName doublePrimLName
960 stringPrimL_RDR = nameRdrName stringPrimLName
961 charPrimL_RDR = nameRdrName charPrimLName