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