140b3df6f8ff0aa565ec8fb6fe5419fd1483f0f2
[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 GhcPrelude ()
10
11 import PrelNames( mk_known_key_name )
12 import Module( Module, mkModuleNameFS, mkModule, thUnitId )
13 import Name( Name )
14 import OccName( tcName, clsName, dataName, varName )
15 import RdrName( RdrName, nameRdrName )
16 import Unique
17 import FastString
18
19 -- To add a name, do three things
20 --
21 -- 1) Allocate a key
22 -- 2) Make a "Name"
23 -- 3) Add the name to templateHaskellNames
24
25 templateHaskellNames :: [Name]
26 -- The names that are implicitly mentioned by ``bracket''
27 -- Should stay in sync with the import list of DsMeta
28
29 templateHaskellNames = [
30 returnQName, bindQName, sequenceQName, newNameName, liftName,
31 mkNameName, mkNameG_vName, mkNameG_dName, mkNameG_tcName, mkNameLName,
32 mkNameSName,
33 liftStringName,
34 unTypeName,
35 unTypeQName,
36 unsafeTExpCoerceName,
37
38 -- Lit
39 charLName, stringLName, integerLName, intPrimLName, wordPrimLName,
40 floatPrimLName, doublePrimLName, rationalLName, stringPrimLName,
41 charPrimLName,
42 -- Pat
43 litPName, varPName, tupPName, unboxedTupPName, unboxedSumPName,
44 conPName, tildePName, bangPName, infixPName,
45 asPName, wildPName, recPName, listPName, sigPName, viewPName,
46 -- FieldPat
47 fieldPatName,
48 -- Match
49 matchName,
50 -- Clause
51 clauseName,
52 -- Exp
53 varEName, conEName, litEName, appEName, appTypeEName, infixEName,
54 infixAppName, sectionLName, sectionRName, lamEName, lamCaseEName,
55 tupEName, unboxedTupEName, unboxedSumEName,
56 condEName, multiIfEName, letEName, caseEName, doEName, mdoEName, compEName,
57 fromEName, fromThenEName, fromToEName, fromThenToEName,
58 listEName, sigEName, recConEName, recUpdEName, staticEName, unboundVarEName,
59 labelEName, implicitParamVarEName,
60 -- FieldExp
61 fieldExpName,
62 -- Body
63 guardedBName, normalBName,
64 -- Guard
65 normalGEName, patGEName,
66 -- Stmt
67 bindSName, letSName, noBindSName, parSName, recSName,
68 -- Dec
69 funDName, valDName, dataDName, newtypeDName, tySynDName,
70 classDName, instanceWithOverlapDName,
71 standaloneDerivWithStrategyDName, sigDName, forImpDName,
72 pragInlDName, pragSpecDName, pragSpecInlDName, pragSpecInstDName,
73 pragRuleDName, pragCompleteDName, pragAnnDName, defaultSigDName,
74 dataFamilyDName, openTypeFamilyDName, closedTypeFamilyDName,
75 dataInstDName, newtypeInstDName, tySynInstDName,
76 infixLDName, infixRDName, infixNDName,
77 roleAnnotDName, patSynDName, patSynSigDName,
78 implicitParamBindDName,
79 -- Cxt
80 cxtName,
81
82 -- SourceUnpackedness
83 noSourceUnpackednessName, sourceNoUnpackName, sourceUnpackName,
84 -- SourceStrictness
85 noSourceStrictnessName, sourceLazyName, sourceStrictName,
86 -- Con
87 normalCName, recCName, infixCName, forallCName, gadtCName, recGadtCName,
88 -- Bang
89 bangName,
90 -- BangType
91 bangTypeName,
92 -- VarBangType
93 varBangTypeName,
94 -- PatSynDir (for pattern synonyms)
95 unidirPatSynName, implBidirPatSynName, explBidirPatSynName,
96 -- PatSynArgs (for pattern synonyms)
97 prefixPatSynName, infixPatSynName, recordPatSynName,
98 -- Type
99 forallTName, forallVisTName, varTName, conTName, infixTName, appTName,
100 appKindTName, equalityTName, tupleTName, unboxedTupleTName,
101 unboxedSumTName, arrowTName, listTName, sigTName, litTName,
102 promotedTName, promotedTupleTName, promotedNilTName, promotedConsTName,
103 wildCardTName, implicitParamTName,
104 -- TyLit
105 numTyLitName, strTyLitName,
106 -- TyVarBndr
107 plainTVName, kindedTVName,
108 -- Role
109 nominalRName, representationalRName, phantomRName, inferRName,
110 -- Kind
111 varKName, conKName, tupleKName, arrowKName, listKName, appKName,
112 starKName, constraintKName,
113 -- FamilyResultSig
114 noSigName, kindSigName, tyVarSigName,
115 -- InjectivityAnn
116 injectivityAnnName,
117 -- Callconv
118 cCallName, stdCallName, cApiCallName, primCallName, javaScriptCallName,
119 -- Safety
120 unsafeName,
121 safeName,
122 interruptibleName,
123 -- Inline
124 noInlineDataConName, inlineDataConName, inlinableDataConName,
125 -- RuleMatch
126 conLikeDataConName, funLikeDataConName,
127 -- Phases
128 allPhasesDataConName, fromPhaseDataConName, beforePhaseDataConName,
129 -- Overlap
130 overlappableDataConName, overlappingDataConName, overlapsDataConName,
131 incoherentDataConName,
132 -- DerivStrategy
133 stockStrategyName, anyclassStrategyName,
134 newtypeStrategyName, viaStrategyName,
135 -- TExp
136 tExpDataConName,
137 -- RuleBndr
138 ruleVarName, typedRuleVarName,
139 -- FunDep
140 funDepName,
141 -- TySynEqn
142 tySynEqnName,
143 -- AnnTarget
144 valueAnnotationName, typeAnnotationName, moduleAnnotationName,
145 -- DerivClause
146 derivClauseName,
147
148 -- The type classes
149 liftClassName,
150
151 -- And the tycons
152 qTyConName, nameTyConName, patTyConName, fieldPatTyConName, matchQTyConName,
153 clauseQTyConName, expQTyConName, fieldExpTyConName, predTyConName,
154 stmtQTyConName, decQTyConName, conQTyConName, bangTypeQTyConName,
155 varBangTypeQTyConName, typeQTyConName, expTyConName, decTyConName,
156 typeTyConName, tyVarBndrQTyConName, matchTyConName, clauseTyConName,
157 patQTyConName, fieldPatQTyConName, fieldExpQTyConName, funDepTyConName,
158 predQTyConName, decsQTyConName, ruleBndrQTyConName, tySynEqnQTyConName,
159 roleTyConName, tExpTyConName, injAnnTyConName, kindQTyConName,
160 overlapTyConName, derivClauseQTyConName, derivStrategyQTyConName,
161
162 -- Quasiquoting
163 quoteDecName, quoteTypeName, quoteExpName, quotePatName]
164
165 thSyn, thLib, qqLib :: Module
166 thSyn = mkTHModule (fsLit "Language.Haskell.TH.Syntax")
167 thLib = mkTHModule (fsLit "Language.Haskell.TH.Lib.Internal")
168 qqLib = mkTHModule (fsLit "Language.Haskell.TH.Quote")
169
170 mkTHModule :: FastString -> Module
171 mkTHModule m = mkModule thUnitId (mkModuleNameFS m)
172
173 libFun, libTc, thFun, thTc, thCls, thCon, qqFun :: FastString -> Unique -> Name
174 libFun = mk_known_key_name OccName.varName thLib
175 libTc = mk_known_key_name OccName.tcName thLib
176 thFun = mk_known_key_name OccName.varName thSyn
177 thTc = mk_known_key_name OccName.tcName thSyn
178 thCls = mk_known_key_name OccName.clsName thSyn
179 thCon = mk_known_key_name OccName.dataName thSyn
180 qqFun = mk_known_key_name OccName.varName qqLib
181
182 -------------------- TH.Syntax -----------------------
183 liftClassName :: Name
184 liftClassName = thCls (fsLit "Lift") liftClassKey
185
186 qTyConName, nameTyConName, fieldExpTyConName, patTyConName,
187 fieldPatTyConName, expTyConName, decTyConName, typeTyConName,
188 matchTyConName, clauseTyConName, funDepTyConName, predTyConName,
189 tExpTyConName, injAnnTyConName, overlapTyConName :: Name
190 qTyConName = thTc (fsLit "Q") qTyConKey
191 nameTyConName = thTc (fsLit "Name") nameTyConKey
192 fieldExpTyConName = thTc (fsLit "FieldExp") fieldExpTyConKey
193 patTyConName = thTc (fsLit "Pat") patTyConKey
194 fieldPatTyConName = thTc (fsLit "FieldPat") fieldPatTyConKey
195 expTyConName = thTc (fsLit "Exp") expTyConKey
196 decTyConName = thTc (fsLit "Dec") decTyConKey
197 typeTyConName = thTc (fsLit "Type") typeTyConKey
198 matchTyConName = thTc (fsLit "Match") matchTyConKey
199 clauseTyConName = thTc (fsLit "Clause") clauseTyConKey
200 funDepTyConName = thTc (fsLit "FunDep") funDepTyConKey
201 predTyConName = thTc (fsLit "Pred") predTyConKey
202 tExpTyConName = thTc (fsLit "TExp") tExpTyConKey
203 injAnnTyConName = thTc (fsLit "InjectivityAnn") injAnnTyConKey
204 overlapTyConName = thTc (fsLit "Overlap") overlapTyConKey
205
206 returnQName, bindQName, sequenceQName, newNameName, liftName,
207 mkNameName, mkNameG_vName, mkNameG_dName, mkNameG_tcName,
208 mkNameLName, mkNameSName, liftStringName, unTypeName, unTypeQName,
209 unsafeTExpCoerceName :: Name
210 returnQName = thFun (fsLit "returnQ") returnQIdKey
211 bindQName = thFun (fsLit "bindQ") bindQIdKey
212 sequenceQName = thFun (fsLit "sequenceQ") sequenceQIdKey
213 newNameName = thFun (fsLit "newName") newNameIdKey
214 liftName = thFun (fsLit "lift") liftIdKey
215 liftStringName = thFun (fsLit "liftString") liftStringIdKey
216 mkNameName = thFun (fsLit "mkName") mkNameIdKey
217 mkNameG_vName = thFun (fsLit "mkNameG_v") mkNameG_vIdKey
218 mkNameG_dName = thFun (fsLit "mkNameG_d") mkNameG_dIdKey
219 mkNameG_tcName = thFun (fsLit "mkNameG_tc") mkNameG_tcIdKey
220 mkNameLName = thFun (fsLit "mkNameL") mkNameLIdKey
221 mkNameSName = thFun (fsLit "mkNameS") mkNameSIdKey
222 unTypeName = thFun (fsLit "unType") unTypeIdKey
223 unTypeQName = thFun (fsLit "unTypeQ") unTypeQIdKey
224 unsafeTExpCoerceName = thFun (fsLit "unsafeTExpCoerce") unsafeTExpCoerceIdKey
225
226
227 -------------------- TH.Lib -----------------------
228 -- data Lit = ...
229 charLName, stringLName, integerLName, intPrimLName, wordPrimLName,
230 floatPrimLName, doublePrimLName, rationalLName, stringPrimLName,
231 charPrimLName :: Name
232 charLName = libFun (fsLit "charL") charLIdKey
233 stringLName = libFun (fsLit "stringL") stringLIdKey
234 integerLName = libFun (fsLit "integerL") integerLIdKey
235 intPrimLName = libFun (fsLit "intPrimL") intPrimLIdKey
236 wordPrimLName = libFun (fsLit "wordPrimL") wordPrimLIdKey
237 floatPrimLName = libFun (fsLit "floatPrimL") floatPrimLIdKey
238 doublePrimLName = libFun (fsLit "doublePrimL") doublePrimLIdKey
239 rationalLName = libFun (fsLit "rationalL") rationalLIdKey
240 stringPrimLName = libFun (fsLit "stringPrimL") stringPrimLIdKey
241 charPrimLName = libFun (fsLit "charPrimL") charPrimLIdKey
242
243 -- data Pat = ...
244 litPName, varPName, tupPName, unboxedTupPName, unboxedSumPName, conPName,
245 infixPName, tildePName, bangPName, asPName, wildPName, recPName, listPName,
246 sigPName, viewPName :: Name
247 litPName = libFun (fsLit "litP") litPIdKey
248 varPName = libFun (fsLit "varP") varPIdKey
249 tupPName = libFun (fsLit "tupP") tupPIdKey
250 unboxedTupPName = libFun (fsLit "unboxedTupP") unboxedTupPIdKey
251 unboxedSumPName = libFun (fsLit "unboxedSumP") unboxedSumPIdKey
252 conPName = libFun (fsLit "conP") conPIdKey
253 infixPName = libFun (fsLit "infixP") infixPIdKey
254 tildePName = libFun (fsLit "tildeP") tildePIdKey
255 bangPName = libFun (fsLit "bangP") bangPIdKey
256 asPName = libFun (fsLit "asP") asPIdKey
257 wildPName = libFun (fsLit "wildP") wildPIdKey
258 recPName = libFun (fsLit "recP") recPIdKey
259 listPName = libFun (fsLit "listP") listPIdKey
260 sigPName = libFun (fsLit "sigP") sigPIdKey
261 viewPName = libFun (fsLit "viewP") viewPIdKey
262
263 -- type FieldPat = ...
264 fieldPatName :: Name
265 fieldPatName = libFun (fsLit "fieldPat") fieldPatIdKey
266
267 -- data Match = ...
268 matchName :: Name
269 matchName = libFun (fsLit "match") matchIdKey
270
271 -- data Clause = ...
272 clauseName :: Name
273 clauseName = libFun (fsLit "clause") clauseIdKey
274
275 -- data Exp = ...
276 varEName, conEName, litEName, appEName, appTypeEName, infixEName, infixAppName,
277 sectionLName, sectionRName, lamEName, lamCaseEName, tupEName,
278 unboxedTupEName, unboxedSumEName, condEName, multiIfEName, letEName,
279 caseEName, doEName, mdoEName, compEName, staticEName, unboundVarEName,
280 labelEName, implicitParamVarEName :: Name
281 varEName = libFun (fsLit "varE") varEIdKey
282 conEName = libFun (fsLit "conE") conEIdKey
283 litEName = libFun (fsLit "litE") litEIdKey
284 appEName = libFun (fsLit "appE") appEIdKey
285 appTypeEName = libFun (fsLit "appTypeE") appTypeEIdKey
286 infixEName = libFun (fsLit "infixE") infixEIdKey
287 infixAppName = libFun (fsLit "infixApp") infixAppIdKey
288 sectionLName = libFun (fsLit "sectionL") sectionLIdKey
289 sectionRName = libFun (fsLit "sectionR") sectionRIdKey
290 lamEName = libFun (fsLit "lamE") lamEIdKey
291 lamCaseEName = libFun (fsLit "lamCaseE") lamCaseEIdKey
292 tupEName = libFun (fsLit "tupE") tupEIdKey
293 unboxedTupEName = libFun (fsLit "unboxedTupE") unboxedTupEIdKey
294 unboxedSumEName = libFun (fsLit "unboxedSumE") unboxedSumEIdKey
295 condEName = libFun (fsLit "condE") condEIdKey
296 multiIfEName = libFun (fsLit "multiIfE") multiIfEIdKey
297 letEName = libFun (fsLit "letE") letEIdKey
298 caseEName = libFun (fsLit "caseE") caseEIdKey
299 doEName = libFun (fsLit "doE") doEIdKey
300 mdoEName = libFun (fsLit "mdoE") mdoEIdKey
301 compEName = libFun (fsLit "compE") compEIdKey
302 -- ArithSeq skips a level
303 fromEName, fromThenEName, fromToEName, fromThenToEName :: Name
304 fromEName = libFun (fsLit "fromE") fromEIdKey
305 fromThenEName = libFun (fsLit "fromThenE") fromThenEIdKey
306 fromToEName = libFun (fsLit "fromToE") fromToEIdKey
307 fromThenToEName = libFun (fsLit "fromThenToE") fromThenToEIdKey
308 -- end ArithSeq
309 listEName, sigEName, recConEName, recUpdEName :: Name
310 listEName = libFun (fsLit "listE") listEIdKey
311 sigEName = libFun (fsLit "sigE") sigEIdKey
312 recConEName = libFun (fsLit "recConE") recConEIdKey
313 recUpdEName = libFun (fsLit "recUpdE") recUpdEIdKey
314 staticEName = libFun (fsLit "staticE") staticEIdKey
315 unboundVarEName = libFun (fsLit "unboundVarE") unboundVarEIdKey
316 labelEName = libFun (fsLit "labelE") labelEIdKey
317 implicitParamVarEName = libFun (fsLit "implicitParamVarE") implicitParamVarEIdKey
318
319 -- type FieldExp = ...
320 fieldExpName :: Name
321 fieldExpName = libFun (fsLit "fieldExp") fieldExpIdKey
322
323 -- data Body = ...
324 guardedBName, normalBName :: Name
325 guardedBName = libFun (fsLit "guardedB") guardedBIdKey
326 normalBName = libFun (fsLit "normalB") normalBIdKey
327
328 -- data Guard = ...
329 normalGEName, patGEName :: Name
330 normalGEName = libFun (fsLit "normalGE") normalGEIdKey
331 patGEName = libFun (fsLit "patGE") patGEIdKey
332
333 -- data Stmt = ...
334 bindSName, letSName, noBindSName, parSName, recSName :: Name
335 bindSName = libFun (fsLit "bindS") bindSIdKey
336 letSName = libFun (fsLit "letS") letSIdKey
337 noBindSName = libFun (fsLit "noBindS") noBindSIdKey
338 parSName = libFun (fsLit "parS") parSIdKey
339 recSName = libFun (fsLit "recS") recSIdKey
340
341 -- data Dec = ...
342 funDName, valDName, dataDName, newtypeDName, tySynDName, classDName,
343 instanceWithOverlapDName, sigDName, forImpDName, pragInlDName,
344 pragSpecDName, pragSpecInlDName, pragSpecInstDName, pragRuleDName,
345 pragAnnDName, standaloneDerivWithStrategyDName, defaultSigDName,
346 dataInstDName, newtypeInstDName, tySynInstDName, dataFamilyDName,
347 openTypeFamilyDName, closedTypeFamilyDName, infixLDName, infixRDName,
348 infixNDName, roleAnnotDName, patSynDName, patSynSigDName,
349 pragCompleteDName, implicitParamBindDName :: Name
350 funDName = libFun (fsLit "funD") funDIdKey
351 valDName = libFun (fsLit "valD") valDIdKey
352 dataDName = libFun (fsLit "dataD") dataDIdKey
353 newtypeDName = libFun (fsLit "newtypeD") newtypeDIdKey
354 tySynDName = libFun (fsLit "tySynD") tySynDIdKey
355 classDName = libFun (fsLit "classD") classDIdKey
356 instanceWithOverlapDName = libFun (fsLit "instanceWithOverlapD") instanceWithOverlapDIdKey
357 standaloneDerivWithStrategyDName = libFun (fsLit "standaloneDerivWithStrategyD") standaloneDerivWithStrategyDIdKey
358 sigDName = libFun (fsLit "sigD") sigDIdKey
359 defaultSigDName = libFun (fsLit "defaultSigD") defaultSigDIdKey
360 forImpDName = libFun (fsLit "forImpD") forImpDIdKey
361 pragInlDName = libFun (fsLit "pragInlD") pragInlDIdKey
362 pragSpecDName = libFun (fsLit "pragSpecD") pragSpecDIdKey
363 pragSpecInlDName = libFun (fsLit "pragSpecInlD") pragSpecInlDIdKey
364 pragSpecInstDName = libFun (fsLit "pragSpecInstD") pragSpecInstDIdKey
365 pragRuleDName = libFun (fsLit "pragRuleD") pragRuleDIdKey
366 pragCompleteDName = libFun (fsLit "pragCompleteD") pragCompleteDIdKey
367 pragAnnDName = libFun (fsLit "pragAnnD") pragAnnDIdKey
368 dataInstDName = libFun (fsLit "dataInstD") dataInstDIdKey
369 newtypeInstDName = libFun (fsLit "newtypeInstD") newtypeInstDIdKey
370 tySynInstDName = libFun (fsLit "tySynInstD") tySynInstDIdKey
371 openTypeFamilyDName = libFun (fsLit "openTypeFamilyD") openTypeFamilyDIdKey
372 closedTypeFamilyDName = libFun (fsLit "closedTypeFamilyD") closedTypeFamilyDIdKey
373 dataFamilyDName = libFun (fsLit "dataFamilyD") dataFamilyDIdKey
374 infixLDName = libFun (fsLit "infixLD") infixLDIdKey
375 infixRDName = libFun (fsLit "infixRD") infixRDIdKey
376 infixNDName = libFun (fsLit "infixND") infixNDIdKey
377 roleAnnotDName = libFun (fsLit "roleAnnotD") roleAnnotDIdKey
378 patSynDName = libFun (fsLit "patSynD") patSynDIdKey
379 patSynSigDName = libFun (fsLit "patSynSigD") patSynSigDIdKey
380 implicitParamBindDName = libFun (fsLit "implicitParamBindD") implicitParamBindDIdKey
381
382 -- type Ctxt = ...
383 cxtName :: Name
384 cxtName = libFun (fsLit "cxt") cxtIdKey
385
386 -- data SourceUnpackedness = ...
387 noSourceUnpackednessName, sourceNoUnpackName, sourceUnpackName :: Name
388 noSourceUnpackednessName = libFun (fsLit "noSourceUnpackedness") noSourceUnpackednessKey
389 sourceNoUnpackName = libFun (fsLit "sourceNoUnpack") sourceNoUnpackKey
390 sourceUnpackName = libFun (fsLit "sourceUnpack") sourceUnpackKey
391
392 -- data SourceStrictness = ...
393 noSourceStrictnessName, sourceLazyName, sourceStrictName :: Name
394 noSourceStrictnessName = libFun (fsLit "noSourceStrictness") noSourceStrictnessKey
395 sourceLazyName = libFun (fsLit "sourceLazy") sourceLazyKey
396 sourceStrictName = libFun (fsLit "sourceStrict") sourceStrictKey
397
398 -- data Con = ...
399 normalCName, recCName, infixCName, forallCName, gadtCName, recGadtCName :: Name
400 normalCName = libFun (fsLit "normalC" ) normalCIdKey
401 recCName = libFun (fsLit "recC" ) recCIdKey
402 infixCName = libFun (fsLit "infixC" ) infixCIdKey
403 forallCName = libFun (fsLit "forallC" ) forallCIdKey
404 gadtCName = libFun (fsLit "gadtC" ) gadtCIdKey
405 recGadtCName = libFun (fsLit "recGadtC") recGadtCIdKey
406
407 -- data Bang = ...
408 bangName :: Name
409 bangName = libFun (fsLit "bang") bangIdKey
410
411 -- type BangType = ...
412 bangTypeName :: Name
413 bangTypeName = libFun (fsLit "bangType") bangTKey
414
415 -- type VarBangType = ...
416 varBangTypeName :: Name
417 varBangTypeName = libFun (fsLit "varBangType") varBangTKey
418
419 -- data PatSynDir = ...
420 unidirPatSynName, implBidirPatSynName, explBidirPatSynName :: Name
421 unidirPatSynName = libFun (fsLit "unidir") unidirPatSynIdKey
422 implBidirPatSynName = libFun (fsLit "implBidir") implBidirPatSynIdKey
423 explBidirPatSynName = libFun (fsLit "explBidir") explBidirPatSynIdKey
424
425 -- data PatSynArgs = ...
426 prefixPatSynName, infixPatSynName, recordPatSynName :: Name
427 prefixPatSynName = libFun (fsLit "prefixPatSyn") prefixPatSynIdKey
428 infixPatSynName = libFun (fsLit "infixPatSyn") infixPatSynIdKey
429 recordPatSynName = libFun (fsLit "recordPatSyn") recordPatSynIdKey
430
431 -- data Type = ...
432 forallTName, forallVisTName, varTName, conTName, infixTName, tupleTName,
433 unboxedTupleTName, unboxedSumTName, arrowTName, listTName, appTName,
434 appKindTName, sigTName, equalityTName, litTName, promotedTName,
435 promotedTupleTName, promotedNilTName, promotedConsTName,
436 wildCardTName, implicitParamTName :: Name
437 forallTName = libFun (fsLit "forallT") forallTIdKey
438 forallVisTName = libFun (fsLit "forallVisT") forallVisTIdKey
439 varTName = libFun (fsLit "varT") varTIdKey
440 conTName = libFun (fsLit "conT") conTIdKey
441 tupleTName = libFun (fsLit "tupleT") tupleTIdKey
442 unboxedTupleTName = libFun (fsLit "unboxedTupleT") unboxedTupleTIdKey
443 unboxedSumTName = libFun (fsLit "unboxedSumT") unboxedSumTIdKey
444 arrowTName = libFun (fsLit "arrowT") arrowTIdKey
445 listTName = libFun (fsLit "listT") listTIdKey
446 appTName = libFun (fsLit "appT") appTIdKey
447 appKindTName = libFun (fsLit "appKindT") appKindTIdKey
448 sigTName = libFun (fsLit "sigT") sigTIdKey
449 equalityTName = libFun (fsLit "equalityT") equalityTIdKey
450 litTName = libFun (fsLit "litT") litTIdKey
451 promotedTName = libFun (fsLit "promotedT") promotedTIdKey
452 promotedTupleTName = libFun (fsLit "promotedTupleT") promotedTupleTIdKey
453 promotedNilTName = libFun (fsLit "promotedNilT") promotedNilTIdKey
454 promotedConsTName = libFun (fsLit "promotedConsT") promotedConsTIdKey
455 wildCardTName = libFun (fsLit "wildCardT") wildCardTIdKey
456 infixTName = libFun (fsLit "infixT") infixTIdKey
457 implicitParamTName = libFun (fsLit "implicitParamT") implicitParamTIdKey
458
459 -- data TyLit = ...
460 numTyLitName, strTyLitName :: Name
461 numTyLitName = libFun (fsLit "numTyLit") numTyLitIdKey
462 strTyLitName = libFun (fsLit "strTyLit") strTyLitIdKey
463
464 -- data TyVarBndr = ...
465 plainTVName, kindedTVName :: Name
466 plainTVName = libFun (fsLit "plainTV") plainTVIdKey
467 kindedTVName = libFun (fsLit "kindedTV") kindedTVIdKey
468
469 -- data Role = ...
470 nominalRName, representationalRName, phantomRName, inferRName :: Name
471 nominalRName = libFun (fsLit "nominalR") nominalRIdKey
472 representationalRName = libFun (fsLit "representationalR") representationalRIdKey
473 phantomRName = libFun (fsLit "phantomR") phantomRIdKey
474 inferRName = libFun (fsLit "inferR") inferRIdKey
475
476 -- data Kind = ...
477 varKName, conKName, tupleKName, arrowKName, listKName, appKName,
478 starKName, constraintKName :: Name
479 varKName = libFun (fsLit "varK") varKIdKey
480 conKName = libFun (fsLit "conK") conKIdKey
481 tupleKName = libFun (fsLit "tupleK") tupleKIdKey
482 arrowKName = libFun (fsLit "arrowK") arrowKIdKey
483 listKName = libFun (fsLit "listK") listKIdKey
484 appKName = libFun (fsLit "appK") appKIdKey
485 starKName = libFun (fsLit "starK") starKIdKey
486 constraintKName = libFun (fsLit "constraintK") constraintKIdKey
487
488 -- data FamilyResultSig = ...
489 noSigName, kindSigName, tyVarSigName :: Name
490 noSigName = libFun (fsLit "noSig") noSigIdKey
491 kindSigName = libFun (fsLit "kindSig") kindSigIdKey
492 tyVarSigName = libFun (fsLit "tyVarSig") tyVarSigIdKey
493
494 -- data InjectivityAnn = ...
495 injectivityAnnName :: Name
496 injectivityAnnName = libFun (fsLit "injectivityAnn") injectivityAnnIdKey
497
498 -- data Callconv = ...
499 cCallName, stdCallName, cApiCallName, primCallName, javaScriptCallName :: Name
500 cCallName = libFun (fsLit "cCall") cCallIdKey
501 stdCallName = libFun (fsLit "stdCall") stdCallIdKey
502 cApiCallName = libFun (fsLit "cApi") cApiCallIdKey
503 primCallName = libFun (fsLit "prim") primCallIdKey
504 javaScriptCallName = libFun (fsLit "javaScript") javaScriptCallIdKey
505
506 -- data Safety = ...
507 unsafeName, safeName, interruptibleName :: Name
508 unsafeName = libFun (fsLit "unsafe") unsafeIdKey
509 safeName = libFun (fsLit "safe") safeIdKey
510 interruptibleName = libFun (fsLit "interruptible") interruptibleIdKey
511
512 -- newtype TExp a = ...
513 tExpDataConName :: Name
514 tExpDataConName = thCon (fsLit "TExp") tExpDataConKey
515
516 -- data RuleBndr = ...
517 ruleVarName, typedRuleVarName :: Name
518 ruleVarName = libFun (fsLit ("ruleVar")) ruleVarIdKey
519 typedRuleVarName = libFun (fsLit ("typedRuleVar")) typedRuleVarIdKey
520
521 -- data FunDep = ...
522 funDepName :: Name
523 funDepName = libFun (fsLit "funDep") funDepIdKey
524
525 -- data TySynEqn = ...
526 tySynEqnName :: Name
527 tySynEqnName = libFun (fsLit "tySynEqn") tySynEqnIdKey
528
529 -- data AnnTarget = ...
530 valueAnnotationName, typeAnnotationName, moduleAnnotationName :: Name
531 valueAnnotationName = libFun (fsLit "valueAnnotation") valueAnnotationIdKey
532 typeAnnotationName = libFun (fsLit "typeAnnotation") typeAnnotationIdKey
533 moduleAnnotationName = libFun (fsLit "moduleAnnotation") moduleAnnotationIdKey
534
535 -- type DerivClause = ...
536 derivClauseName :: Name
537 derivClauseName = libFun (fsLit "derivClause") derivClauseIdKey
538
539 -- data DerivStrategy = ...
540 stockStrategyName, anyclassStrategyName, newtypeStrategyName,
541 viaStrategyName :: Name
542 stockStrategyName = libFun (fsLit "stockStrategy") stockStrategyIdKey
543 anyclassStrategyName = libFun (fsLit "anyclassStrategy") anyclassStrategyIdKey
544 newtypeStrategyName = libFun (fsLit "newtypeStrategy") newtypeStrategyIdKey
545 viaStrategyName = libFun (fsLit "viaStrategy") viaStrategyIdKey
546
547 matchQTyConName, clauseQTyConName, expQTyConName, stmtQTyConName,
548 decQTyConName, conQTyConName, bangTypeQTyConName,
549 varBangTypeQTyConName, typeQTyConName, fieldExpQTyConName,
550 patQTyConName, fieldPatQTyConName, predQTyConName, decsQTyConName,
551 ruleBndrQTyConName, tySynEqnQTyConName, roleTyConName,
552 derivClauseQTyConName, kindQTyConName, tyVarBndrQTyConName,
553 derivStrategyQTyConName :: Name
554 matchQTyConName = libTc (fsLit "MatchQ") matchQTyConKey
555 clauseQTyConName = libTc (fsLit "ClauseQ") clauseQTyConKey
556 expQTyConName = libTc (fsLit "ExpQ") expQTyConKey
557 stmtQTyConName = libTc (fsLit "StmtQ") stmtQTyConKey
558 decQTyConName = libTc (fsLit "DecQ") decQTyConKey
559 decsQTyConName = libTc (fsLit "DecsQ") decsQTyConKey -- Q [Dec]
560 conQTyConName = libTc (fsLit "ConQ") conQTyConKey
561 bangTypeQTyConName = libTc (fsLit "BangTypeQ") bangTypeQTyConKey
562 varBangTypeQTyConName = libTc (fsLit "VarBangTypeQ") varBangTypeQTyConKey
563 typeQTyConName = libTc (fsLit "TypeQ") typeQTyConKey
564 fieldExpQTyConName = libTc (fsLit "FieldExpQ") fieldExpQTyConKey
565 patQTyConName = libTc (fsLit "PatQ") patQTyConKey
566 fieldPatQTyConName = libTc (fsLit "FieldPatQ") fieldPatQTyConKey
567 predQTyConName = libTc (fsLit "PredQ") predQTyConKey
568 ruleBndrQTyConName = libTc (fsLit "RuleBndrQ") ruleBndrQTyConKey
569 tySynEqnQTyConName = libTc (fsLit "TySynEqnQ") tySynEqnQTyConKey
570 roleTyConName = libTc (fsLit "Role") roleTyConKey
571 derivClauseQTyConName = libTc (fsLit "DerivClauseQ") derivClauseQTyConKey
572 kindQTyConName = libTc (fsLit "KindQ") kindQTyConKey
573 tyVarBndrQTyConName = libTc (fsLit "TyVarBndrQ") tyVarBndrQTyConKey
574 derivStrategyQTyConName = libTc (fsLit "DerivStrategyQ") derivStrategyQTyConKey
575
576 -- quasiquoting
577 quoteExpName, quotePatName, quoteDecName, quoteTypeName :: Name
578 quoteExpName = qqFun (fsLit "quoteExp") quoteExpKey
579 quotePatName = qqFun (fsLit "quotePat") quotePatKey
580 quoteDecName = qqFun (fsLit "quoteDec") quoteDecKey
581 quoteTypeName = qqFun (fsLit "quoteType") quoteTypeKey
582
583 -- data Inline = ...
584 noInlineDataConName, inlineDataConName, inlinableDataConName :: Name
585 noInlineDataConName = thCon (fsLit "NoInline") noInlineDataConKey
586 inlineDataConName = thCon (fsLit "Inline") inlineDataConKey
587 inlinableDataConName = thCon (fsLit "Inlinable") inlinableDataConKey
588
589 -- data RuleMatch = ...
590 conLikeDataConName, funLikeDataConName :: Name
591 conLikeDataConName = thCon (fsLit "ConLike") conLikeDataConKey
592 funLikeDataConName = thCon (fsLit "FunLike") funLikeDataConKey
593
594 -- data Phases = ...
595 allPhasesDataConName, fromPhaseDataConName, beforePhaseDataConName :: Name
596 allPhasesDataConName = thCon (fsLit "AllPhases") allPhasesDataConKey
597 fromPhaseDataConName = thCon (fsLit "FromPhase") fromPhaseDataConKey
598 beforePhaseDataConName = thCon (fsLit "BeforePhase") beforePhaseDataConKey
599
600 -- data Overlap = ...
601 overlappableDataConName,
602 overlappingDataConName,
603 overlapsDataConName,
604 incoherentDataConName :: Name
605 overlappableDataConName = thCon (fsLit "Overlappable") overlappableDataConKey
606 overlappingDataConName = thCon (fsLit "Overlapping") overlappingDataConKey
607 overlapsDataConName = thCon (fsLit "Overlaps") overlapsDataConKey
608 incoherentDataConName = thCon (fsLit "Incoherent") incoherentDataConKey
609
610 {- *********************************************************************
611 * *
612 Class keys
613 * *
614 ********************************************************************* -}
615
616 -- ClassUniques available: 200-299
617 -- Check in PrelNames if you want to change this
618
619 liftClassKey :: Unique
620 liftClassKey = mkPreludeClassUnique 200
621
622 {- *********************************************************************
623 * *
624 TyCon keys
625 * *
626 ********************************************************************* -}
627
628 -- TyConUniques available: 200-299
629 -- Check in PrelNames if you want to change this
630
631 expTyConKey, matchTyConKey, clauseTyConKey, qTyConKey, expQTyConKey,
632 decQTyConKey, patTyConKey, matchQTyConKey, clauseQTyConKey,
633 stmtQTyConKey, conQTyConKey, typeQTyConKey, typeTyConKey,
634 tyVarBndrQTyConKey, decTyConKey, bangTypeQTyConKey, varBangTypeQTyConKey,
635 fieldExpTyConKey, fieldPatTyConKey, nameTyConKey, patQTyConKey,
636 fieldPatQTyConKey, fieldExpQTyConKey, funDepTyConKey, predTyConKey,
637 predQTyConKey, decsQTyConKey, ruleBndrQTyConKey, tySynEqnQTyConKey,
638 roleTyConKey, tExpTyConKey, injAnnTyConKey, kindQTyConKey,
639 overlapTyConKey, derivClauseQTyConKey, derivStrategyQTyConKey :: Unique
640 expTyConKey = mkPreludeTyConUnique 200
641 matchTyConKey = mkPreludeTyConUnique 201
642 clauseTyConKey = mkPreludeTyConUnique 202
643 qTyConKey = mkPreludeTyConUnique 203
644 expQTyConKey = mkPreludeTyConUnique 204
645 decQTyConKey = mkPreludeTyConUnique 205
646 patTyConKey = mkPreludeTyConUnique 206
647 matchQTyConKey = mkPreludeTyConUnique 207
648 clauseQTyConKey = mkPreludeTyConUnique 208
649 stmtQTyConKey = mkPreludeTyConUnique 209
650 conQTyConKey = mkPreludeTyConUnique 210
651 typeQTyConKey = mkPreludeTyConUnique 211
652 typeTyConKey = mkPreludeTyConUnique 212
653 decTyConKey = mkPreludeTyConUnique 213
654 bangTypeQTyConKey = mkPreludeTyConUnique 214
655 varBangTypeQTyConKey = mkPreludeTyConUnique 215
656 fieldExpTyConKey = mkPreludeTyConUnique 216
657 fieldPatTyConKey = mkPreludeTyConUnique 217
658 nameTyConKey = mkPreludeTyConUnique 218
659 patQTyConKey = mkPreludeTyConUnique 219
660 fieldPatQTyConKey = mkPreludeTyConUnique 220
661 fieldExpQTyConKey = mkPreludeTyConUnique 221
662 funDepTyConKey = mkPreludeTyConUnique 222
663 predTyConKey = mkPreludeTyConUnique 223
664 predQTyConKey = mkPreludeTyConUnique 224
665 tyVarBndrQTyConKey = mkPreludeTyConUnique 225
666 decsQTyConKey = mkPreludeTyConUnique 226
667 ruleBndrQTyConKey = mkPreludeTyConUnique 227
668 tySynEqnQTyConKey = mkPreludeTyConUnique 228
669 roleTyConKey = mkPreludeTyConUnique 229
670 tExpTyConKey = mkPreludeTyConUnique 230
671 injAnnTyConKey = mkPreludeTyConUnique 231
672 kindQTyConKey = mkPreludeTyConUnique 232
673 overlapTyConKey = mkPreludeTyConUnique 233
674 derivClauseQTyConKey = mkPreludeTyConUnique 234
675 derivStrategyQTyConKey = mkPreludeTyConUnique 235
676
677 {- *********************************************************************
678 * *
679 DataCon keys
680 * *
681 ********************************************************************* -}
682
683 -- DataConUniques available: 100-150
684 -- If you want to change this, make sure you check in PrelNames
685
686 -- data Inline = ...
687 noInlineDataConKey, inlineDataConKey, inlinableDataConKey :: Unique
688 noInlineDataConKey = mkPreludeDataConUnique 200
689 inlineDataConKey = mkPreludeDataConUnique 201
690 inlinableDataConKey = mkPreludeDataConUnique 202
691
692 -- data RuleMatch = ...
693 conLikeDataConKey, funLikeDataConKey :: Unique
694 conLikeDataConKey = mkPreludeDataConUnique 203
695 funLikeDataConKey = mkPreludeDataConUnique 204
696
697 -- data Phases = ...
698 allPhasesDataConKey, fromPhaseDataConKey, beforePhaseDataConKey :: Unique
699 allPhasesDataConKey = mkPreludeDataConUnique 205
700 fromPhaseDataConKey = mkPreludeDataConUnique 206
701 beforePhaseDataConKey = mkPreludeDataConUnique 207
702
703 -- newtype TExp a = ...
704 tExpDataConKey :: Unique
705 tExpDataConKey = mkPreludeDataConUnique 208
706
707 -- data Overlap = ..
708 overlappableDataConKey,
709 overlappingDataConKey,
710 overlapsDataConKey,
711 incoherentDataConKey :: Unique
712 overlappableDataConKey = mkPreludeDataConUnique 209
713 overlappingDataConKey = mkPreludeDataConUnique 210
714 overlapsDataConKey = mkPreludeDataConUnique 211
715 incoherentDataConKey = mkPreludeDataConUnique 212
716
717 {- *********************************************************************
718 * *
719 Id keys
720 * *
721 ********************************************************************* -}
722
723 -- IdUniques available: 200-499
724 -- If you want to change this, make sure you check in PrelNames
725
726 returnQIdKey, bindQIdKey, sequenceQIdKey, liftIdKey, newNameIdKey,
727 mkNameIdKey, mkNameG_vIdKey, mkNameG_dIdKey, mkNameG_tcIdKey,
728 mkNameLIdKey, mkNameSIdKey, unTypeIdKey, unTypeQIdKey,
729 unsafeTExpCoerceIdKey :: Unique
730 returnQIdKey = mkPreludeMiscIdUnique 200
731 bindQIdKey = mkPreludeMiscIdUnique 201
732 sequenceQIdKey = mkPreludeMiscIdUnique 202
733 liftIdKey = mkPreludeMiscIdUnique 203
734 newNameIdKey = mkPreludeMiscIdUnique 204
735 mkNameIdKey = mkPreludeMiscIdUnique 205
736 mkNameG_vIdKey = mkPreludeMiscIdUnique 206
737 mkNameG_dIdKey = mkPreludeMiscIdUnique 207
738 mkNameG_tcIdKey = mkPreludeMiscIdUnique 208
739 mkNameLIdKey = mkPreludeMiscIdUnique 209
740 mkNameSIdKey = mkPreludeMiscIdUnique 210
741 unTypeIdKey = mkPreludeMiscIdUnique 211
742 unTypeQIdKey = mkPreludeMiscIdUnique 212
743 unsafeTExpCoerceIdKey = mkPreludeMiscIdUnique 213
744
745
746 -- data Lit = ...
747 charLIdKey, stringLIdKey, integerLIdKey, intPrimLIdKey, wordPrimLIdKey,
748 floatPrimLIdKey, doublePrimLIdKey, rationalLIdKey, stringPrimLIdKey,
749 charPrimLIdKey:: Unique
750 charLIdKey = mkPreludeMiscIdUnique 220
751 stringLIdKey = mkPreludeMiscIdUnique 221
752 integerLIdKey = mkPreludeMiscIdUnique 222
753 intPrimLIdKey = mkPreludeMiscIdUnique 223
754 wordPrimLIdKey = mkPreludeMiscIdUnique 224
755 floatPrimLIdKey = mkPreludeMiscIdUnique 225
756 doublePrimLIdKey = mkPreludeMiscIdUnique 226
757 rationalLIdKey = mkPreludeMiscIdUnique 227
758 stringPrimLIdKey = mkPreludeMiscIdUnique 228
759 charPrimLIdKey = mkPreludeMiscIdUnique 229
760
761 liftStringIdKey :: Unique
762 liftStringIdKey = mkPreludeMiscIdUnique 230
763
764 -- data Pat = ...
765 litPIdKey, varPIdKey, tupPIdKey, unboxedTupPIdKey, unboxedSumPIdKey, conPIdKey,
766 infixPIdKey, tildePIdKey, bangPIdKey, asPIdKey, wildPIdKey, recPIdKey,
767 listPIdKey, sigPIdKey, viewPIdKey :: Unique
768 litPIdKey = mkPreludeMiscIdUnique 240
769 varPIdKey = mkPreludeMiscIdUnique 241
770 tupPIdKey = mkPreludeMiscIdUnique 242
771 unboxedTupPIdKey = mkPreludeMiscIdUnique 243
772 unboxedSumPIdKey = mkPreludeMiscIdUnique 244
773 conPIdKey = mkPreludeMiscIdUnique 245
774 infixPIdKey = mkPreludeMiscIdUnique 246
775 tildePIdKey = mkPreludeMiscIdUnique 247
776 bangPIdKey = mkPreludeMiscIdUnique 248
777 asPIdKey = mkPreludeMiscIdUnique 249
778 wildPIdKey = mkPreludeMiscIdUnique 250
779 recPIdKey = mkPreludeMiscIdUnique 251
780 listPIdKey = mkPreludeMiscIdUnique 252
781 sigPIdKey = mkPreludeMiscIdUnique 253
782 viewPIdKey = mkPreludeMiscIdUnique 254
783
784 -- type FieldPat = ...
785 fieldPatIdKey :: Unique
786 fieldPatIdKey = mkPreludeMiscIdUnique 260
787
788 -- data Match = ...
789 matchIdKey :: Unique
790 matchIdKey = mkPreludeMiscIdUnique 261
791
792 -- data Clause = ...
793 clauseIdKey :: Unique
794 clauseIdKey = mkPreludeMiscIdUnique 262
795
796
797 -- data Exp = ...
798 varEIdKey, conEIdKey, litEIdKey, appEIdKey, appTypeEIdKey, infixEIdKey,
799 infixAppIdKey, sectionLIdKey, sectionRIdKey, lamEIdKey, lamCaseEIdKey,
800 tupEIdKey, unboxedTupEIdKey, unboxedSumEIdKey, condEIdKey, multiIfEIdKey,
801 letEIdKey, caseEIdKey, doEIdKey, compEIdKey,
802 fromEIdKey, fromThenEIdKey, fromToEIdKey, fromThenToEIdKey,
803 listEIdKey, sigEIdKey, recConEIdKey, recUpdEIdKey, staticEIdKey,
804 unboundVarEIdKey, labelEIdKey, implicitParamVarEIdKey, mdoEIdKey :: Unique
805 varEIdKey = mkPreludeMiscIdUnique 270
806 conEIdKey = mkPreludeMiscIdUnique 271
807 litEIdKey = mkPreludeMiscIdUnique 272
808 appEIdKey = mkPreludeMiscIdUnique 273
809 appTypeEIdKey = mkPreludeMiscIdUnique 274
810 infixEIdKey = mkPreludeMiscIdUnique 275
811 infixAppIdKey = mkPreludeMiscIdUnique 276
812 sectionLIdKey = mkPreludeMiscIdUnique 277
813 sectionRIdKey = mkPreludeMiscIdUnique 278
814 lamEIdKey = mkPreludeMiscIdUnique 279
815 lamCaseEIdKey = mkPreludeMiscIdUnique 280
816 tupEIdKey = mkPreludeMiscIdUnique 281
817 unboxedTupEIdKey = mkPreludeMiscIdUnique 282
818 unboxedSumEIdKey = mkPreludeMiscIdUnique 283
819 condEIdKey = mkPreludeMiscIdUnique 284
820 multiIfEIdKey = mkPreludeMiscIdUnique 285
821 letEIdKey = mkPreludeMiscIdUnique 286
822 caseEIdKey = mkPreludeMiscIdUnique 287
823 doEIdKey = mkPreludeMiscIdUnique 288
824 compEIdKey = mkPreludeMiscIdUnique 289
825 fromEIdKey = mkPreludeMiscIdUnique 290
826 fromThenEIdKey = mkPreludeMiscIdUnique 291
827 fromToEIdKey = mkPreludeMiscIdUnique 292
828 fromThenToEIdKey = mkPreludeMiscIdUnique 293
829 listEIdKey = mkPreludeMiscIdUnique 294
830 sigEIdKey = mkPreludeMiscIdUnique 295
831 recConEIdKey = mkPreludeMiscIdUnique 296
832 recUpdEIdKey = mkPreludeMiscIdUnique 297
833 staticEIdKey = mkPreludeMiscIdUnique 298
834 unboundVarEIdKey = mkPreludeMiscIdUnique 299
835 labelEIdKey = mkPreludeMiscIdUnique 300
836 implicitParamVarEIdKey = mkPreludeMiscIdUnique 301
837 mdoEIdKey = mkPreludeMiscIdUnique 302
838
839 -- type FieldExp = ...
840 fieldExpIdKey :: Unique
841 fieldExpIdKey = mkPreludeMiscIdUnique 305
842
843 -- data Body = ...
844 guardedBIdKey, normalBIdKey :: Unique
845 guardedBIdKey = mkPreludeMiscIdUnique 306
846 normalBIdKey = mkPreludeMiscIdUnique 307
847
848 -- data Guard = ...
849 normalGEIdKey, patGEIdKey :: Unique
850 normalGEIdKey = mkPreludeMiscIdUnique 308
851 patGEIdKey = mkPreludeMiscIdUnique 309
852
853 -- data Stmt = ...
854 bindSIdKey, letSIdKey, noBindSIdKey, parSIdKey, recSIdKey :: Unique
855 bindSIdKey = mkPreludeMiscIdUnique 310
856 letSIdKey = mkPreludeMiscIdUnique 311
857 noBindSIdKey = mkPreludeMiscIdUnique 312
858 parSIdKey = mkPreludeMiscIdUnique 313
859 recSIdKey = mkPreludeMiscIdUnique 314
860
861 -- data Dec = ...
862 funDIdKey, valDIdKey, dataDIdKey, newtypeDIdKey, tySynDIdKey, classDIdKey,
863 instanceWithOverlapDIdKey, instanceDIdKey, sigDIdKey, forImpDIdKey,
864 pragInlDIdKey, pragSpecDIdKey, pragSpecInlDIdKey, pragSpecInstDIdKey,
865 pragRuleDIdKey, pragAnnDIdKey, defaultSigDIdKey, dataFamilyDIdKey,
866 openTypeFamilyDIdKey, closedTypeFamilyDIdKey, dataInstDIdKey,
867 newtypeInstDIdKey, tySynInstDIdKey, standaloneDerivWithStrategyDIdKey,
868 infixLDIdKey, infixRDIdKey, infixNDIdKey, roleAnnotDIdKey, patSynDIdKey,
869 patSynSigDIdKey, pragCompleteDIdKey, implicitParamBindDIdKey :: Unique
870 funDIdKey = mkPreludeMiscIdUnique 320
871 valDIdKey = mkPreludeMiscIdUnique 321
872 dataDIdKey = mkPreludeMiscIdUnique 322
873 newtypeDIdKey = mkPreludeMiscIdUnique 323
874 tySynDIdKey = mkPreludeMiscIdUnique 324
875 classDIdKey = mkPreludeMiscIdUnique 325
876 instanceWithOverlapDIdKey = mkPreludeMiscIdUnique 326
877 instanceDIdKey = mkPreludeMiscIdUnique 327
878 sigDIdKey = mkPreludeMiscIdUnique 328
879 forImpDIdKey = mkPreludeMiscIdUnique 329
880 pragInlDIdKey = mkPreludeMiscIdUnique 330
881 pragSpecDIdKey = mkPreludeMiscIdUnique 331
882 pragSpecInlDIdKey = mkPreludeMiscIdUnique 332
883 pragSpecInstDIdKey = mkPreludeMiscIdUnique 333
884 pragRuleDIdKey = mkPreludeMiscIdUnique 334
885 pragAnnDIdKey = mkPreludeMiscIdUnique 335
886 dataFamilyDIdKey = mkPreludeMiscIdUnique 336
887 openTypeFamilyDIdKey = mkPreludeMiscIdUnique 337
888 dataInstDIdKey = mkPreludeMiscIdUnique 338
889 newtypeInstDIdKey = mkPreludeMiscIdUnique 339
890 tySynInstDIdKey = mkPreludeMiscIdUnique 340
891 closedTypeFamilyDIdKey = mkPreludeMiscIdUnique 341
892 infixLDIdKey = mkPreludeMiscIdUnique 342
893 infixRDIdKey = mkPreludeMiscIdUnique 343
894 infixNDIdKey = mkPreludeMiscIdUnique 344
895 roleAnnotDIdKey = mkPreludeMiscIdUnique 345
896 standaloneDerivWithStrategyDIdKey = mkPreludeMiscIdUnique 346
897 defaultSigDIdKey = mkPreludeMiscIdUnique 347
898 patSynDIdKey = mkPreludeMiscIdUnique 348
899 patSynSigDIdKey = mkPreludeMiscIdUnique 349
900 pragCompleteDIdKey = mkPreludeMiscIdUnique 350
901 implicitParamBindDIdKey = mkPreludeMiscIdUnique 351
902
903 -- type Cxt = ...
904 cxtIdKey :: Unique
905 cxtIdKey = mkPreludeMiscIdUnique 361
906
907 -- data SourceUnpackedness = ...
908 noSourceUnpackednessKey, sourceNoUnpackKey, sourceUnpackKey :: Unique
909 noSourceUnpackednessKey = mkPreludeMiscIdUnique 362
910 sourceNoUnpackKey = mkPreludeMiscIdUnique 363
911 sourceUnpackKey = mkPreludeMiscIdUnique 364
912
913 -- data SourceStrictness = ...
914 noSourceStrictnessKey, sourceLazyKey, sourceStrictKey :: Unique
915 noSourceStrictnessKey = mkPreludeMiscIdUnique 365
916 sourceLazyKey = mkPreludeMiscIdUnique 366
917 sourceStrictKey = mkPreludeMiscIdUnique 367
918
919 -- data Con = ...
920 normalCIdKey, recCIdKey, infixCIdKey, forallCIdKey, gadtCIdKey,
921 recGadtCIdKey :: Unique
922 normalCIdKey = mkPreludeMiscIdUnique 368
923 recCIdKey = mkPreludeMiscIdUnique 369
924 infixCIdKey = mkPreludeMiscIdUnique 370
925 forallCIdKey = mkPreludeMiscIdUnique 371
926 gadtCIdKey = mkPreludeMiscIdUnique 372
927 recGadtCIdKey = mkPreludeMiscIdUnique 373
928
929 -- data Bang = ...
930 bangIdKey :: Unique
931 bangIdKey = mkPreludeMiscIdUnique 374
932
933 -- type BangType = ...
934 bangTKey :: Unique
935 bangTKey = mkPreludeMiscIdUnique 375
936
937 -- type VarBangType = ...
938 varBangTKey :: Unique
939 varBangTKey = mkPreludeMiscIdUnique 376
940
941 -- data PatSynDir = ...
942 unidirPatSynIdKey, implBidirPatSynIdKey, explBidirPatSynIdKey :: Unique
943 unidirPatSynIdKey = mkPreludeMiscIdUnique 377
944 implBidirPatSynIdKey = mkPreludeMiscIdUnique 378
945 explBidirPatSynIdKey = mkPreludeMiscIdUnique 379
946
947 -- data PatSynArgs = ...
948 prefixPatSynIdKey, infixPatSynIdKey, recordPatSynIdKey :: Unique
949 prefixPatSynIdKey = mkPreludeMiscIdUnique 380
950 infixPatSynIdKey = mkPreludeMiscIdUnique 381
951 recordPatSynIdKey = mkPreludeMiscIdUnique 382
952
953 -- data Type = ...
954 forallTIdKey, forallVisTIdKey, varTIdKey, conTIdKey, tupleTIdKey,
955 unboxedTupleTIdKey, unboxedSumTIdKey, arrowTIdKey, listTIdKey, appTIdKey,
956 appKindTIdKey, sigTIdKey, equalityTIdKey, litTIdKey, promotedTIdKey,
957 promotedTupleTIdKey, promotedNilTIdKey, promotedConsTIdKey,
958 wildCardTIdKey, implicitParamTIdKey, infixTIdKey :: Unique
959 forallTIdKey = mkPreludeMiscIdUnique 390
960 forallVisTIdKey = mkPreludeMiscIdUnique 391
961 varTIdKey = mkPreludeMiscIdUnique 392
962 conTIdKey = mkPreludeMiscIdUnique 393
963 tupleTIdKey = mkPreludeMiscIdUnique 394
964 unboxedTupleTIdKey = mkPreludeMiscIdUnique 395
965 unboxedSumTIdKey = mkPreludeMiscIdUnique 396
966 arrowTIdKey = mkPreludeMiscIdUnique 397
967 listTIdKey = mkPreludeMiscIdUnique 398
968 appTIdKey = mkPreludeMiscIdUnique 399
969 appKindTIdKey = mkPreludeMiscIdUnique 400
970 sigTIdKey = mkPreludeMiscIdUnique 401
971 equalityTIdKey = mkPreludeMiscIdUnique 402
972 litTIdKey = mkPreludeMiscIdUnique 403
973 promotedTIdKey = mkPreludeMiscIdUnique 404
974 promotedTupleTIdKey = mkPreludeMiscIdUnique 405
975 promotedNilTIdKey = mkPreludeMiscIdUnique 406
976 promotedConsTIdKey = mkPreludeMiscIdUnique 407
977 wildCardTIdKey = mkPreludeMiscIdUnique 408
978 implicitParamTIdKey = mkPreludeMiscIdUnique 409
979 infixTIdKey = mkPreludeMiscIdUnique 410
980
981 -- data TyLit = ...
982 numTyLitIdKey, strTyLitIdKey :: Unique
983 numTyLitIdKey = mkPreludeMiscIdUnique 411
984 strTyLitIdKey = mkPreludeMiscIdUnique 412
985
986 -- data TyVarBndr = ...
987 plainTVIdKey, kindedTVIdKey :: Unique
988 plainTVIdKey = mkPreludeMiscIdUnique 413
989 kindedTVIdKey = mkPreludeMiscIdUnique 414
990
991 -- data Role = ...
992 nominalRIdKey, representationalRIdKey, phantomRIdKey, inferRIdKey :: Unique
993 nominalRIdKey = mkPreludeMiscIdUnique 415
994 representationalRIdKey = mkPreludeMiscIdUnique 416
995 phantomRIdKey = mkPreludeMiscIdUnique 417
996 inferRIdKey = mkPreludeMiscIdUnique 418
997
998 -- data Kind = ...
999 varKIdKey, conKIdKey, tupleKIdKey, arrowKIdKey, listKIdKey, appKIdKey,
1000 starKIdKey, constraintKIdKey :: Unique
1001 varKIdKey = mkPreludeMiscIdUnique 419
1002 conKIdKey = mkPreludeMiscIdUnique 420
1003 tupleKIdKey = mkPreludeMiscIdUnique 421
1004 arrowKIdKey = mkPreludeMiscIdUnique 422
1005 listKIdKey = mkPreludeMiscIdUnique 423
1006 appKIdKey = mkPreludeMiscIdUnique 424
1007 starKIdKey = mkPreludeMiscIdUnique 425
1008 constraintKIdKey = mkPreludeMiscIdUnique 426
1009
1010 -- data FamilyResultSig = ...
1011 noSigIdKey, kindSigIdKey, tyVarSigIdKey :: Unique
1012 noSigIdKey = mkPreludeMiscIdUnique 427
1013 kindSigIdKey = mkPreludeMiscIdUnique 428
1014 tyVarSigIdKey = mkPreludeMiscIdUnique 429
1015
1016 -- data InjectivityAnn = ...
1017 injectivityAnnIdKey :: Unique
1018 injectivityAnnIdKey = mkPreludeMiscIdUnique 430
1019
1020 -- data Callconv = ...
1021 cCallIdKey, stdCallIdKey, cApiCallIdKey, primCallIdKey,
1022 javaScriptCallIdKey :: Unique
1023 cCallIdKey = mkPreludeMiscIdUnique 431
1024 stdCallIdKey = mkPreludeMiscIdUnique 432
1025 cApiCallIdKey = mkPreludeMiscIdUnique 433
1026 primCallIdKey = mkPreludeMiscIdUnique 434
1027 javaScriptCallIdKey = mkPreludeMiscIdUnique 435
1028
1029 -- data Safety = ...
1030 unsafeIdKey, safeIdKey, interruptibleIdKey :: Unique
1031 unsafeIdKey = mkPreludeMiscIdUnique 440
1032 safeIdKey = mkPreludeMiscIdUnique 441
1033 interruptibleIdKey = mkPreludeMiscIdUnique 442
1034
1035 -- data FunDep = ...
1036 funDepIdKey :: Unique
1037 funDepIdKey = mkPreludeMiscIdUnique 445
1038
1039 -- data TySynEqn = ...
1040 tySynEqnIdKey :: Unique
1041 tySynEqnIdKey = mkPreludeMiscIdUnique 460
1042
1043 -- quasiquoting
1044 quoteExpKey, quotePatKey, quoteDecKey, quoteTypeKey :: Unique
1045 quoteExpKey = mkPreludeMiscIdUnique 470
1046 quotePatKey = mkPreludeMiscIdUnique 471
1047 quoteDecKey = mkPreludeMiscIdUnique 472
1048 quoteTypeKey = mkPreludeMiscIdUnique 473
1049
1050 -- data RuleBndr = ...
1051 ruleVarIdKey, typedRuleVarIdKey :: Unique
1052 ruleVarIdKey = mkPreludeMiscIdUnique 480
1053 typedRuleVarIdKey = mkPreludeMiscIdUnique 481
1054
1055 -- data AnnTarget = ...
1056 valueAnnotationIdKey, typeAnnotationIdKey, moduleAnnotationIdKey :: Unique
1057 valueAnnotationIdKey = mkPreludeMiscIdUnique 490
1058 typeAnnotationIdKey = mkPreludeMiscIdUnique 491
1059 moduleAnnotationIdKey = mkPreludeMiscIdUnique 492
1060
1061 -- type DerivPred = ...
1062 derivClauseIdKey :: Unique
1063 derivClauseIdKey = mkPreludeMiscIdUnique 493
1064
1065 -- data DerivStrategy = ...
1066 stockStrategyIdKey, anyclassStrategyIdKey, newtypeStrategyIdKey,
1067 viaStrategyIdKey :: Unique
1068 stockStrategyIdKey = mkPreludeDataConUnique 494
1069 anyclassStrategyIdKey = mkPreludeDataConUnique 495
1070 newtypeStrategyIdKey = mkPreludeDataConUnique 496
1071 viaStrategyIdKey = mkPreludeDataConUnique 497
1072
1073 {-
1074 ************************************************************************
1075 * *
1076 RdrNames
1077 * *
1078 ************************************************************************
1079 -}
1080
1081 lift_RDR, mkNameG_dRDR, mkNameG_vRDR :: RdrName
1082 lift_RDR = nameRdrName liftName
1083 mkNameG_dRDR = nameRdrName mkNameG_dName
1084 mkNameG_vRDR = nameRdrName mkNameG_vName
1085
1086 -- data Exp = ...
1087 conE_RDR, litE_RDR, appE_RDR, infixApp_RDR :: RdrName
1088 conE_RDR = nameRdrName conEName
1089 litE_RDR = nameRdrName litEName
1090 appE_RDR = nameRdrName appEName
1091 infixApp_RDR = nameRdrName infixAppName
1092
1093 -- data Lit = ...
1094 stringL_RDR, intPrimL_RDR, wordPrimL_RDR, floatPrimL_RDR,
1095 doublePrimL_RDR, stringPrimL_RDR, charPrimL_RDR :: RdrName
1096 stringL_RDR = nameRdrName stringLName
1097 intPrimL_RDR = nameRdrName intPrimLName
1098 wordPrimL_RDR = nameRdrName wordPrimLName
1099 floatPrimL_RDR = nameRdrName floatPrimLName
1100 doublePrimL_RDR = nameRdrName doublePrimLName
1101 stringPrimL_RDR = nameRdrName stringPrimLName
1102 charPrimL_RDR = nameRdrName charPrimLName