Visible kind application
[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, varTName, conTName, infixTName, appTName, appKindTName,
100 equalityTName, tupleTName, unboxedTupleTName, unboxedSumTName,
101 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, varTName, conTName, infixTName, tupleTName, unboxedTupleTName,
433 unboxedSumTName, arrowTName, listTName, appTName, appKindTName,
434 sigTName, equalityTName, litTName, promotedTName,
435 promotedTupleTName, promotedNilTName, promotedConsTName,
436 wildCardTName, implicitParamTName :: Name
437 forallTName = libFun (fsLit "forallT") forallTIdKey
438 varTName = libFun (fsLit "varT") varTIdKey
439 conTName = libFun (fsLit "conT") conTIdKey
440 tupleTName = libFun (fsLit "tupleT") tupleTIdKey
441 unboxedTupleTName = libFun (fsLit "unboxedTupleT") unboxedTupleTIdKey
442 unboxedSumTName = libFun (fsLit "unboxedSumT") unboxedSumTIdKey
443 arrowTName = libFun (fsLit "arrowT") arrowTIdKey
444 listTName = libFun (fsLit "listT") listTIdKey
445 appTName = libFun (fsLit "appT") appTIdKey
446 appKindTName = libFun (fsLit "appKindT") appKindTIdKey
447 sigTName = libFun (fsLit "sigT") sigTIdKey
448 equalityTName = libFun (fsLit "equalityT") equalityTIdKey
449 litTName = libFun (fsLit "litT") litTIdKey
450 promotedTName = libFun (fsLit "promotedT") promotedTIdKey
451 promotedTupleTName = libFun (fsLit "promotedTupleT") promotedTupleTIdKey
452 promotedNilTName = libFun (fsLit "promotedNilT") promotedNilTIdKey
453 promotedConsTName = libFun (fsLit "promotedConsT") promotedConsTIdKey
454 wildCardTName = libFun (fsLit "wildCardT") wildCardTIdKey
455 infixTName = libFun (fsLit "infixT") infixTIdKey
456 implicitParamTName = libFun (fsLit "implicitParamT") implicitParamTIdKey
457
458 -- data TyLit = ...
459 numTyLitName, strTyLitName :: Name
460 numTyLitName = libFun (fsLit "numTyLit") numTyLitIdKey
461 strTyLitName = libFun (fsLit "strTyLit") strTyLitIdKey
462
463 -- data TyVarBndr = ...
464 plainTVName, kindedTVName :: Name
465 plainTVName = libFun (fsLit "plainTV") plainTVIdKey
466 kindedTVName = libFun (fsLit "kindedTV") kindedTVIdKey
467
468 -- data Role = ...
469 nominalRName, representationalRName, phantomRName, inferRName :: Name
470 nominalRName = libFun (fsLit "nominalR") nominalRIdKey
471 representationalRName = libFun (fsLit "representationalR") representationalRIdKey
472 phantomRName = libFun (fsLit "phantomR") phantomRIdKey
473 inferRName = libFun (fsLit "inferR") inferRIdKey
474
475 -- data Kind = ...
476 varKName, conKName, tupleKName, arrowKName, listKName, appKName,
477 starKName, constraintKName :: Name
478 varKName = libFun (fsLit "varK") varKIdKey
479 conKName = libFun (fsLit "conK") conKIdKey
480 tupleKName = libFun (fsLit "tupleK") tupleKIdKey
481 arrowKName = libFun (fsLit "arrowK") arrowKIdKey
482 listKName = libFun (fsLit "listK") listKIdKey
483 appKName = libFun (fsLit "appK") appKIdKey
484 starKName = libFun (fsLit "starK") starKIdKey
485 constraintKName = libFun (fsLit "constraintK") constraintKIdKey
486
487 -- data FamilyResultSig = ...
488 noSigName, kindSigName, tyVarSigName :: Name
489 noSigName = libFun (fsLit "noSig") noSigIdKey
490 kindSigName = libFun (fsLit "kindSig") kindSigIdKey
491 tyVarSigName = libFun (fsLit "tyVarSig") tyVarSigIdKey
492
493 -- data InjectivityAnn = ...
494 injectivityAnnName :: Name
495 injectivityAnnName = libFun (fsLit "injectivityAnn") injectivityAnnIdKey
496
497 -- data Callconv = ...
498 cCallName, stdCallName, cApiCallName, primCallName, javaScriptCallName :: Name
499 cCallName = libFun (fsLit "cCall") cCallIdKey
500 stdCallName = libFun (fsLit "stdCall") stdCallIdKey
501 cApiCallName = libFun (fsLit "cApi") cApiCallIdKey
502 primCallName = libFun (fsLit "prim") primCallIdKey
503 javaScriptCallName = libFun (fsLit "javaScript") javaScriptCallIdKey
504
505 -- data Safety = ...
506 unsafeName, safeName, interruptibleName :: Name
507 unsafeName = libFun (fsLit "unsafe") unsafeIdKey
508 safeName = libFun (fsLit "safe") safeIdKey
509 interruptibleName = libFun (fsLit "interruptible") interruptibleIdKey
510
511 -- newtype TExp a = ...
512 tExpDataConName :: Name
513 tExpDataConName = thCon (fsLit "TExp") tExpDataConKey
514
515 -- data RuleBndr = ...
516 ruleVarName, typedRuleVarName :: Name
517 ruleVarName = libFun (fsLit ("ruleVar")) ruleVarIdKey
518 typedRuleVarName = libFun (fsLit ("typedRuleVar")) typedRuleVarIdKey
519
520 -- data FunDep = ...
521 funDepName :: Name
522 funDepName = libFun (fsLit "funDep") funDepIdKey
523
524 -- data TySynEqn = ...
525 tySynEqnName :: Name
526 tySynEqnName = libFun (fsLit "tySynEqn") tySynEqnIdKey
527
528 -- data AnnTarget = ...
529 valueAnnotationName, typeAnnotationName, moduleAnnotationName :: Name
530 valueAnnotationName = libFun (fsLit "valueAnnotation") valueAnnotationIdKey
531 typeAnnotationName = libFun (fsLit "typeAnnotation") typeAnnotationIdKey
532 moduleAnnotationName = libFun (fsLit "moduleAnnotation") moduleAnnotationIdKey
533
534 -- type DerivClause = ...
535 derivClauseName :: Name
536 derivClauseName = libFun (fsLit "derivClause") derivClauseIdKey
537
538 -- data DerivStrategy = ...
539 stockStrategyName, anyclassStrategyName, newtypeStrategyName,
540 viaStrategyName :: Name
541 stockStrategyName = libFun (fsLit "stockStrategy") stockStrategyIdKey
542 anyclassStrategyName = libFun (fsLit "anyclassStrategy") anyclassStrategyIdKey
543 newtypeStrategyName = libFun (fsLit "newtypeStrategy") newtypeStrategyIdKey
544 viaStrategyName = libFun (fsLit "viaStrategy") viaStrategyIdKey
545
546 matchQTyConName, clauseQTyConName, expQTyConName, stmtQTyConName,
547 decQTyConName, conQTyConName, bangTypeQTyConName,
548 varBangTypeQTyConName, typeQTyConName, fieldExpQTyConName,
549 patQTyConName, fieldPatQTyConName, predQTyConName, decsQTyConName,
550 ruleBndrQTyConName, tySynEqnQTyConName, roleTyConName,
551 derivClauseQTyConName, kindQTyConName, tyVarBndrQTyConName,
552 derivStrategyQTyConName :: Name
553 matchQTyConName = libTc (fsLit "MatchQ") matchQTyConKey
554 clauseQTyConName = libTc (fsLit "ClauseQ") clauseQTyConKey
555 expQTyConName = libTc (fsLit "ExpQ") expQTyConKey
556 stmtQTyConName = libTc (fsLit "StmtQ") stmtQTyConKey
557 decQTyConName = libTc (fsLit "DecQ") decQTyConKey
558 decsQTyConName = libTc (fsLit "DecsQ") decsQTyConKey -- Q [Dec]
559 conQTyConName = libTc (fsLit "ConQ") conQTyConKey
560 bangTypeQTyConName = libTc (fsLit "BangTypeQ") bangTypeQTyConKey
561 varBangTypeQTyConName = libTc (fsLit "VarBangTypeQ") varBangTypeQTyConKey
562 typeQTyConName = libTc (fsLit "TypeQ") typeQTyConKey
563 fieldExpQTyConName = libTc (fsLit "FieldExpQ") fieldExpQTyConKey
564 patQTyConName = libTc (fsLit "PatQ") patQTyConKey
565 fieldPatQTyConName = libTc (fsLit "FieldPatQ") fieldPatQTyConKey
566 predQTyConName = libTc (fsLit "PredQ") predQTyConKey
567 ruleBndrQTyConName = libTc (fsLit "RuleBndrQ") ruleBndrQTyConKey
568 tySynEqnQTyConName = libTc (fsLit "TySynEqnQ") tySynEqnQTyConKey
569 roleTyConName = libTc (fsLit "Role") roleTyConKey
570 derivClauseQTyConName = libTc (fsLit "DerivClauseQ") derivClauseQTyConKey
571 kindQTyConName = libTc (fsLit "KindQ") kindQTyConKey
572 tyVarBndrQTyConName = libTc (fsLit "TyVarBndrQ") tyVarBndrQTyConKey
573 derivStrategyQTyConName = libTc (fsLit "DerivStrategyQ") derivStrategyQTyConKey
574
575 -- quasiquoting
576 quoteExpName, quotePatName, quoteDecName, quoteTypeName :: Name
577 quoteExpName = qqFun (fsLit "quoteExp") quoteExpKey
578 quotePatName = qqFun (fsLit "quotePat") quotePatKey
579 quoteDecName = qqFun (fsLit "quoteDec") quoteDecKey
580 quoteTypeName = qqFun (fsLit "quoteType") quoteTypeKey
581
582 -- data Inline = ...
583 noInlineDataConName, inlineDataConName, inlinableDataConName :: Name
584 noInlineDataConName = thCon (fsLit "NoInline") noInlineDataConKey
585 inlineDataConName = thCon (fsLit "Inline") inlineDataConKey
586 inlinableDataConName = thCon (fsLit "Inlinable") inlinableDataConKey
587
588 -- data RuleMatch = ...
589 conLikeDataConName, funLikeDataConName :: Name
590 conLikeDataConName = thCon (fsLit "ConLike") conLikeDataConKey
591 funLikeDataConName = thCon (fsLit "FunLike") funLikeDataConKey
592
593 -- data Phases = ...
594 allPhasesDataConName, fromPhaseDataConName, beforePhaseDataConName :: Name
595 allPhasesDataConName = thCon (fsLit "AllPhases") allPhasesDataConKey
596 fromPhaseDataConName = thCon (fsLit "FromPhase") fromPhaseDataConKey
597 beforePhaseDataConName = thCon (fsLit "BeforePhase") beforePhaseDataConKey
598
599 -- data Overlap = ...
600 overlappableDataConName,
601 overlappingDataConName,
602 overlapsDataConName,
603 incoherentDataConName :: Name
604 overlappableDataConName = thCon (fsLit "Overlappable") overlappableDataConKey
605 overlappingDataConName = thCon (fsLit "Overlapping") overlappingDataConKey
606 overlapsDataConName = thCon (fsLit "Overlaps") overlapsDataConKey
607 incoherentDataConName = thCon (fsLit "Incoherent") incoherentDataConKey
608
609 {- *********************************************************************
610 * *
611 Class keys
612 * *
613 ********************************************************************* -}
614
615 -- ClassUniques available: 200-299
616 -- Check in PrelNames if you want to change this
617
618 liftClassKey :: Unique
619 liftClassKey = mkPreludeClassUnique 200
620
621 {- *********************************************************************
622 * *
623 TyCon keys
624 * *
625 ********************************************************************* -}
626
627 -- TyConUniques available: 200-299
628 -- Check in PrelNames if you want to change this
629
630 expTyConKey, matchTyConKey, clauseTyConKey, qTyConKey, expQTyConKey,
631 decQTyConKey, patTyConKey, matchQTyConKey, clauseQTyConKey,
632 stmtQTyConKey, conQTyConKey, typeQTyConKey, typeTyConKey,
633 tyVarBndrQTyConKey, decTyConKey, bangTypeQTyConKey, varBangTypeQTyConKey,
634 fieldExpTyConKey, fieldPatTyConKey, nameTyConKey, patQTyConKey,
635 fieldPatQTyConKey, fieldExpQTyConKey, funDepTyConKey, predTyConKey,
636 predQTyConKey, decsQTyConKey, ruleBndrQTyConKey, tySynEqnQTyConKey,
637 roleTyConKey, tExpTyConKey, injAnnTyConKey, kindQTyConKey,
638 overlapTyConKey, derivClauseQTyConKey, derivStrategyQTyConKey :: Unique
639 expTyConKey = mkPreludeTyConUnique 200
640 matchTyConKey = mkPreludeTyConUnique 201
641 clauseTyConKey = mkPreludeTyConUnique 202
642 qTyConKey = mkPreludeTyConUnique 203
643 expQTyConKey = mkPreludeTyConUnique 204
644 decQTyConKey = mkPreludeTyConUnique 205
645 patTyConKey = mkPreludeTyConUnique 206
646 matchQTyConKey = mkPreludeTyConUnique 207
647 clauseQTyConKey = mkPreludeTyConUnique 208
648 stmtQTyConKey = mkPreludeTyConUnique 209
649 conQTyConKey = mkPreludeTyConUnique 210
650 typeQTyConKey = mkPreludeTyConUnique 211
651 typeTyConKey = mkPreludeTyConUnique 212
652 decTyConKey = mkPreludeTyConUnique 213
653 bangTypeQTyConKey = mkPreludeTyConUnique 214
654 varBangTypeQTyConKey = mkPreludeTyConUnique 215
655 fieldExpTyConKey = mkPreludeTyConUnique 216
656 fieldPatTyConKey = mkPreludeTyConUnique 217
657 nameTyConKey = mkPreludeTyConUnique 218
658 patQTyConKey = mkPreludeTyConUnique 219
659 fieldPatQTyConKey = mkPreludeTyConUnique 220
660 fieldExpQTyConKey = mkPreludeTyConUnique 221
661 funDepTyConKey = mkPreludeTyConUnique 222
662 predTyConKey = mkPreludeTyConUnique 223
663 predQTyConKey = mkPreludeTyConUnique 224
664 tyVarBndrQTyConKey = mkPreludeTyConUnique 225
665 decsQTyConKey = mkPreludeTyConUnique 226
666 ruleBndrQTyConKey = mkPreludeTyConUnique 227
667 tySynEqnQTyConKey = mkPreludeTyConUnique 228
668 roleTyConKey = mkPreludeTyConUnique 229
669 tExpTyConKey = mkPreludeTyConUnique 230
670 injAnnTyConKey = mkPreludeTyConUnique 231
671 kindQTyConKey = mkPreludeTyConUnique 232
672 overlapTyConKey = mkPreludeTyConUnique 233
673 derivClauseQTyConKey = mkPreludeTyConUnique 234
674 derivStrategyQTyConKey = mkPreludeTyConUnique 235
675
676 {- *********************************************************************
677 * *
678 DataCon keys
679 * *
680 ********************************************************************* -}
681
682 -- DataConUniques available: 100-150
683 -- If you want to change this, make sure you check in PrelNames
684
685 -- data Inline = ...
686 noInlineDataConKey, inlineDataConKey, inlinableDataConKey :: Unique
687 noInlineDataConKey = mkPreludeDataConUnique 200
688 inlineDataConKey = mkPreludeDataConUnique 201
689 inlinableDataConKey = mkPreludeDataConUnique 202
690
691 -- data RuleMatch = ...
692 conLikeDataConKey, funLikeDataConKey :: Unique
693 conLikeDataConKey = mkPreludeDataConUnique 203
694 funLikeDataConKey = mkPreludeDataConUnique 204
695
696 -- data Phases = ...
697 allPhasesDataConKey, fromPhaseDataConKey, beforePhaseDataConKey :: Unique
698 allPhasesDataConKey = mkPreludeDataConUnique 205
699 fromPhaseDataConKey = mkPreludeDataConUnique 206
700 beforePhaseDataConKey = mkPreludeDataConUnique 207
701
702 -- newtype TExp a = ...
703 tExpDataConKey :: Unique
704 tExpDataConKey = mkPreludeDataConUnique 208
705
706 -- data Overlap = ..
707 overlappableDataConKey,
708 overlappingDataConKey,
709 overlapsDataConKey,
710 incoherentDataConKey :: Unique
711 overlappableDataConKey = mkPreludeDataConUnique 209
712 overlappingDataConKey = mkPreludeDataConUnique 210
713 overlapsDataConKey = mkPreludeDataConUnique 211
714 incoherentDataConKey = mkPreludeDataConUnique 212
715
716 {- *********************************************************************
717 * *
718 Id keys
719 * *
720 ********************************************************************* -}
721
722 -- IdUniques available: 200-499
723 -- If you want to change this, make sure you check in PrelNames
724
725 returnQIdKey, bindQIdKey, sequenceQIdKey, liftIdKey, newNameIdKey,
726 mkNameIdKey, mkNameG_vIdKey, mkNameG_dIdKey, mkNameG_tcIdKey,
727 mkNameLIdKey, mkNameSIdKey, unTypeIdKey, unTypeQIdKey,
728 unsafeTExpCoerceIdKey :: Unique
729 returnQIdKey = mkPreludeMiscIdUnique 200
730 bindQIdKey = mkPreludeMiscIdUnique 201
731 sequenceQIdKey = mkPreludeMiscIdUnique 202
732 liftIdKey = mkPreludeMiscIdUnique 203
733 newNameIdKey = mkPreludeMiscIdUnique 204
734 mkNameIdKey = mkPreludeMiscIdUnique 205
735 mkNameG_vIdKey = mkPreludeMiscIdUnique 206
736 mkNameG_dIdKey = mkPreludeMiscIdUnique 207
737 mkNameG_tcIdKey = mkPreludeMiscIdUnique 208
738 mkNameLIdKey = mkPreludeMiscIdUnique 209
739 mkNameSIdKey = mkPreludeMiscIdUnique 210
740 unTypeIdKey = mkPreludeMiscIdUnique 211
741 unTypeQIdKey = mkPreludeMiscIdUnique 212
742 unsafeTExpCoerceIdKey = mkPreludeMiscIdUnique 213
743
744
745 -- data Lit = ...
746 charLIdKey, stringLIdKey, integerLIdKey, intPrimLIdKey, wordPrimLIdKey,
747 floatPrimLIdKey, doublePrimLIdKey, rationalLIdKey, stringPrimLIdKey,
748 charPrimLIdKey:: Unique
749 charLIdKey = mkPreludeMiscIdUnique 220
750 stringLIdKey = mkPreludeMiscIdUnique 221
751 integerLIdKey = mkPreludeMiscIdUnique 222
752 intPrimLIdKey = mkPreludeMiscIdUnique 223
753 wordPrimLIdKey = mkPreludeMiscIdUnique 224
754 floatPrimLIdKey = mkPreludeMiscIdUnique 225
755 doublePrimLIdKey = mkPreludeMiscIdUnique 226
756 rationalLIdKey = mkPreludeMiscIdUnique 227
757 stringPrimLIdKey = mkPreludeMiscIdUnique 228
758 charPrimLIdKey = mkPreludeMiscIdUnique 229
759
760 liftStringIdKey :: Unique
761 liftStringIdKey = mkPreludeMiscIdUnique 230
762
763 -- data Pat = ...
764 litPIdKey, varPIdKey, tupPIdKey, unboxedTupPIdKey, unboxedSumPIdKey, conPIdKey,
765 infixPIdKey, tildePIdKey, bangPIdKey, asPIdKey, wildPIdKey, recPIdKey,
766 listPIdKey, sigPIdKey, viewPIdKey :: Unique
767 litPIdKey = mkPreludeMiscIdUnique 240
768 varPIdKey = mkPreludeMiscIdUnique 241
769 tupPIdKey = mkPreludeMiscIdUnique 242
770 unboxedTupPIdKey = mkPreludeMiscIdUnique 243
771 unboxedSumPIdKey = mkPreludeMiscIdUnique 244
772 conPIdKey = mkPreludeMiscIdUnique 245
773 infixPIdKey = mkPreludeMiscIdUnique 246
774 tildePIdKey = mkPreludeMiscIdUnique 247
775 bangPIdKey = mkPreludeMiscIdUnique 248
776 asPIdKey = mkPreludeMiscIdUnique 249
777 wildPIdKey = mkPreludeMiscIdUnique 250
778 recPIdKey = mkPreludeMiscIdUnique 251
779 listPIdKey = mkPreludeMiscIdUnique 252
780 sigPIdKey = mkPreludeMiscIdUnique 253
781 viewPIdKey = mkPreludeMiscIdUnique 254
782
783 -- type FieldPat = ...
784 fieldPatIdKey :: Unique
785 fieldPatIdKey = mkPreludeMiscIdUnique 260
786
787 -- data Match = ...
788 matchIdKey :: Unique
789 matchIdKey = mkPreludeMiscIdUnique 261
790
791 -- data Clause = ...
792 clauseIdKey :: Unique
793 clauseIdKey = mkPreludeMiscIdUnique 262
794
795
796 -- data Exp = ...
797 varEIdKey, conEIdKey, litEIdKey, appEIdKey, appTypeEIdKey, infixEIdKey,
798 infixAppIdKey, sectionLIdKey, sectionRIdKey, lamEIdKey, lamCaseEIdKey,
799 tupEIdKey, unboxedTupEIdKey, unboxedSumEIdKey, condEIdKey, multiIfEIdKey,
800 letEIdKey, caseEIdKey, doEIdKey, compEIdKey,
801 fromEIdKey, fromThenEIdKey, fromToEIdKey, fromThenToEIdKey,
802 listEIdKey, sigEIdKey, recConEIdKey, recUpdEIdKey, staticEIdKey,
803 unboundVarEIdKey, labelEIdKey, implicitParamVarEIdKey, mdoEIdKey :: Unique
804 varEIdKey = mkPreludeMiscIdUnique 270
805 conEIdKey = mkPreludeMiscIdUnique 271
806 litEIdKey = mkPreludeMiscIdUnique 272
807 appEIdKey = mkPreludeMiscIdUnique 273
808 appTypeEIdKey = mkPreludeMiscIdUnique 274
809 infixEIdKey = mkPreludeMiscIdUnique 275
810 infixAppIdKey = mkPreludeMiscIdUnique 276
811 sectionLIdKey = mkPreludeMiscIdUnique 277
812 sectionRIdKey = mkPreludeMiscIdUnique 278
813 lamEIdKey = mkPreludeMiscIdUnique 279
814 lamCaseEIdKey = mkPreludeMiscIdUnique 280
815 tupEIdKey = mkPreludeMiscIdUnique 281
816 unboxedTupEIdKey = mkPreludeMiscIdUnique 282
817 unboxedSumEIdKey = mkPreludeMiscIdUnique 283
818 condEIdKey = mkPreludeMiscIdUnique 284
819 multiIfEIdKey = mkPreludeMiscIdUnique 285
820 letEIdKey = mkPreludeMiscIdUnique 286
821 caseEIdKey = mkPreludeMiscIdUnique 287
822 doEIdKey = mkPreludeMiscIdUnique 288
823 compEIdKey = mkPreludeMiscIdUnique 289
824 fromEIdKey = mkPreludeMiscIdUnique 290
825 fromThenEIdKey = mkPreludeMiscIdUnique 291
826 fromToEIdKey = mkPreludeMiscIdUnique 292
827 fromThenToEIdKey = mkPreludeMiscIdUnique 293
828 listEIdKey = mkPreludeMiscIdUnique 294
829 sigEIdKey = mkPreludeMiscIdUnique 295
830 recConEIdKey = mkPreludeMiscIdUnique 296
831 recUpdEIdKey = mkPreludeMiscIdUnique 297
832 staticEIdKey = mkPreludeMiscIdUnique 298
833 unboundVarEIdKey = mkPreludeMiscIdUnique 299
834 labelEIdKey = mkPreludeMiscIdUnique 300
835 implicitParamVarEIdKey = mkPreludeMiscIdUnique 301
836 mdoEIdKey = mkPreludeMiscIdUnique 302
837
838 -- type FieldExp = ...
839 fieldExpIdKey :: Unique
840 fieldExpIdKey = mkPreludeMiscIdUnique 305
841
842 -- data Body = ...
843 guardedBIdKey, normalBIdKey :: Unique
844 guardedBIdKey = mkPreludeMiscIdUnique 306
845 normalBIdKey = mkPreludeMiscIdUnique 307
846
847 -- data Guard = ...
848 normalGEIdKey, patGEIdKey :: Unique
849 normalGEIdKey = mkPreludeMiscIdUnique 308
850 patGEIdKey = mkPreludeMiscIdUnique 309
851
852 -- data Stmt = ...
853 bindSIdKey, letSIdKey, noBindSIdKey, parSIdKey, recSIdKey :: Unique
854 bindSIdKey = mkPreludeMiscIdUnique 310
855 letSIdKey = mkPreludeMiscIdUnique 311
856 noBindSIdKey = mkPreludeMiscIdUnique 312
857 parSIdKey = mkPreludeMiscIdUnique 313
858 recSIdKey = mkPreludeMiscIdUnique 314
859
860 -- data Dec = ...
861 funDIdKey, valDIdKey, dataDIdKey, newtypeDIdKey, tySynDIdKey, classDIdKey,
862 instanceWithOverlapDIdKey, instanceDIdKey, sigDIdKey, forImpDIdKey,
863 pragInlDIdKey, pragSpecDIdKey, pragSpecInlDIdKey, pragSpecInstDIdKey,
864 pragRuleDIdKey, pragAnnDIdKey, defaultSigDIdKey, dataFamilyDIdKey,
865 openTypeFamilyDIdKey, closedTypeFamilyDIdKey, dataInstDIdKey,
866 newtypeInstDIdKey, tySynInstDIdKey, standaloneDerivWithStrategyDIdKey,
867 infixLDIdKey, infixRDIdKey, infixNDIdKey, roleAnnotDIdKey, patSynDIdKey,
868 patSynSigDIdKey, pragCompleteDIdKey, implicitParamBindDIdKey :: Unique
869 funDIdKey = mkPreludeMiscIdUnique 320
870 valDIdKey = mkPreludeMiscIdUnique 321
871 dataDIdKey = mkPreludeMiscIdUnique 322
872 newtypeDIdKey = mkPreludeMiscIdUnique 323
873 tySynDIdKey = mkPreludeMiscIdUnique 324
874 classDIdKey = mkPreludeMiscIdUnique 325
875 instanceWithOverlapDIdKey = mkPreludeMiscIdUnique 326
876 instanceDIdKey = mkPreludeMiscIdUnique 327
877 sigDIdKey = mkPreludeMiscIdUnique 328
878 forImpDIdKey = mkPreludeMiscIdUnique 329
879 pragInlDIdKey = mkPreludeMiscIdUnique 330
880 pragSpecDIdKey = mkPreludeMiscIdUnique 331
881 pragSpecInlDIdKey = mkPreludeMiscIdUnique 332
882 pragSpecInstDIdKey = mkPreludeMiscIdUnique 333
883 pragRuleDIdKey = mkPreludeMiscIdUnique 334
884 pragAnnDIdKey = mkPreludeMiscIdUnique 335
885 dataFamilyDIdKey = mkPreludeMiscIdUnique 336
886 openTypeFamilyDIdKey = mkPreludeMiscIdUnique 337
887 dataInstDIdKey = mkPreludeMiscIdUnique 338
888 newtypeInstDIdKey = mkPreludeMiscIdUnique 339
889 tySynInstDIdKey = mkPreludeMiscIdUnique 340
890 closedTypeFamilyDIdKey = mkPreludeMiscIdUnique 341
891 infixLDIdKey = mkPreludeMiscIdUnique 342
892 infixRDIdKey = mkPreludeMiscIdUnique 343
893 infixNDIdKey = mkPreludeMiscIdUnique 344
894 roleAnnotDIdKey = mkPreludeMiscIdUnique 345
895 standaloneDerivWithStrategyDIdKey = mkPreludeMiscIdUnique 346
896 defaultSigDIdKey = mkPreludeMiscIdUnique 347
897 patSynDIdKey = mkPreludeMiscIdUnique 348
898 patSynSigDIdKey = mkPreludeMiscIdUnique 349
899 pragCompleteDIdKey = mkPreludeMiscIdUnique 350
900 implicitParamBindDIdKey = mkPreludeMiscIdUnique 351
901
902 -- type Cxt = ...
903 cxtIdKey :: Unique
904 cxtIdKey = mkPreludeMiscIdUnique 361
905
906 -- data SourceUnpackedness = ...
907 noSourceUnpackednessKey, sourceNoUnpackKey, sourceUnpackKey :: Unique
908 noSourceUnpackednessKey = mkPreludeMiscIdUnique 362
909 sourceNoUnpackKey = mkPreludeMiscIdUnique 363
910 sourceUnpackKey = mkPreludeMiscIdUnique 364
911
912 -- data SourceStrictness = ...
913 noSourceStrictnessKey, sourceLazyKey, sourceStrictKey :: Unique
914 noSourceStrictnessKey = mkPreludeMiscIdUnique 365
915 sourceLazyKey = mkPreludeMiscIdUnique 366
916 sourceStrictKey = mkPreludeMiscIdUnique 367
917
918 -- data Con = ...
919 normalCIdKey, recCIdKey, infixCIdKey, forallCIdKey, gadtCIdKey,
920 recGadtCIdKey :: Unique
921 normalCIdKey = mkPreludeMiscIdUnique 368
922 recCIdKey = mkPreludeMiscIdUnique 369
923 infixCIdKey = mkPreludeMiscIdUnique 370
924 forallCIdKey = mkPreludeMiscIdUnique 371
925 gadtCIdKey = mkPreludeMiscIdUnique 372
926 recGadtCIdKey = mkPreludeMiscIdUnique 373
927
928 -- data Bang = ...
929 bangIdKey :: Unique
930 bangIdKey = mkPreludeMiscIdUnique 374
931
932 -- type BangType = ...
933 bangTKey :: Unique
934 bangTKey = mkPreludeMiscIdUnique 375
935
936 -- type VarBangType = ...
937 varBangTKey :: Unique
938 varBangTKey = mkPreludeMiscIdUnique 376
939
940 -- data PatSynDir = ...
941 unidirPatSynIdKey, implBidirPatSynIdKey, explBidirPatSynIdKey :: Unique
942 unidirPatSynIdKey = mkPreludeMiscIdUnique 377
943 implBidirPatSynIdKey = mkPreludeMiscIdUnique 378
944 explBidirPatSynIdKey = mkPreludeMiscIdUnique 379
945
946 -- data PatSynArgs = ...
947 prefixPatSynIdKey, infixPatSynIdKey, recordPatSynIdKey :: Unique
948 prefixPatSynIdKey = mkPreludeMiscIdUnique 380
949 infixPatSynIdKey = mkPreludeMiscIdUnique 381
950 recordPatSynIdKey = mkPreludeMiscIdUnique 382
951
952 -- data Type = ...
953 forallTIdKey, varTIdKey, conTIdKey, tupleTIdKey, unboxedTupleTIdKey,
954 unboxedSumTIdKey, arrowTIdKey, listTIdKey, appTIdKey, appKindTIdKey,
955 sigTIdKey, equalityTIdKey, litTIdKey, promotedTIdKey,
956 promotedTupleTIdKey, promotedNilTIdKey, promotedConsTIdKey,
957 wildCardTIdKey, implicitParamTIdKey, infixTIdKey :: Unique
958 forallTIdKey = mkPreludeMiscIdUnique 390
959 varTIdKey = mkPreludeMiscIdUnique 391
960 conTIdKey = mkPreludeMiscIdUnique 392
961 tupleTIdKey = mkPreludeMiscIdUnique 393
962 unboxedTupleTIdKey = mkPreludeMiscIdUnique 394
963 unboxedSumTIdKey = mkPreludeMiscIdUnique 395
964 arrowTIdKey = mkPreludeMiscIdUnique 396
965 listTIdKey = mkPreludeMiscIdUnique 397
966 appTIdKey = mkPreludeMiscIdUnique 398
967 appKindTIdKey = mkPreludeMiscIdUnique 399
968 sigTIdKey = mkPreludeMiscIdUnique 400
969 equalityTIdKey = mkPreludeMiscIdUnique 401
970 litTIdKey = mkPreludeMiscIdUnique 402
971 promotedTIdKey = mkPreludeMiscIdUnique 403
972 promotedTupleTIdKey = mkPreludeMiscIdUnique 404
973 promotedNilTIdKey = mkPreludeMiscIdUnique 405
974 promotedConsTIdKey = mkPreludeMiscIdUnique 406
975 wildCardTIdKey = mkPreludeMiscIdUnique 407
976 implicitParamTIdKey = mkPreludeMiscIdUnique 408
977 infixTIdKey = mkPreludeMiscIdUnique 409
978
979 -- data TyLit = ...
980 numTyLitIdKey, strTyLitIdKey :: Unique
981 numTyLitIdKey = mkPreludeMiscIdUnique 410
982 strTyLitIdKey = mkPreludeMiscIdUnique 411
983
984 -- data TyVarBndr = ...
985 plainTVIdKey, kindedTVIdKey :: Unique
986 plainTVIdKey = mkPreludeMiscIdUnique 412
987 kindedTVIdKey = mkPreludeMiscIdUnique 413
988
989 -- data Role = ...
990 nominalRIdKey, representationalRIdKey, phantomRIdKey, inferRIdKey :: Unique
991 nominalRIdKey = mkPreludeMiscIdUnique 414
992 representationalRIdKey = mkPreludeMiscIdUnique 415
993 phantomRIdKey = mkPreludeMiscIdUnique 416
994 inferRIdKey = mkPreludeMiscIdUnique 417
995
996 -- data Kind = ...
997 varKIdKey, conKIdKey, tupleKIdKey, arrowKIdKey, listKIdKey, appKIdKey,
998 starKIdKey, constraintKIdKey :: Unique
999 varKIdKey = mkPreludeMiscIdUnique 418
1000 conKIdKey = mkPreludeMiscIdUnique 419
1001 tupleKIdKey = mkPreludeMiscIdUnique 420
1002 arrowKIdKey = mkPreludeMiscIdUnique 421
1003 listKIdKey = mkPreludeMiscIdUnique 422
1004 appKIdKey = mkPreludeMiscIdUnique 423
1005 starKIdKey = mkPreludeMiscIdUnique 424
1006 constraintKIdKey = mkPreludeMiscIdUnique 425
1007
1008 -- data FamilyResultSig = ...
1009 noSigIdKey, kindSigIdKey, tyVarSigIdKey :: Unique
1010 noSigIdKey = mkPreludeMiscIdUnique 426
1011 kindSigIdKey = mkPreludeMiscIdUnique 427
1012 tyVarSigIdKey = mkPreludeMiscIdUnique 428
1013
1014 -- data InjectivityAnn = ...
1015 injectivityAnnIdKey :: Unique
1016 injectivityAnnIdKey = mkPreludeMiscIdUnique 429
1017
1018 -- data Callconv = ...
1019 cCallIdKey, stdCallIdKey, cApiCallIdKey, primCallIdKey,
1020 javaScriptCallIdKey :: Unique
1021 cCallIdKey = mkPreludeMiscIdUnique 430
1022 stdCallIdKey = mkPreludeMiscIdUnique 431
1023 cApiCallIdKey = mkPreludeMiscIdUnique 432
1024 primCallIdKey = mkPreludeMiscIdUnique 433
1025 javaScriptCallIdKey = mkPreludeMiscIdUnique 434
1026
1027 -- data Safety = ...
1028 unsafeIdKey, safeIdKey, interruptibleIdKey :: Unique
1029 unsafeIdKey = mkPreludeMiscIdUnique 440
1030 safeIdKey = mkPreludeMiscIdUnique 441
1031 interruptibleIdKey = mkPreludeMiscIdUnique 442
1032
1033 -- data FunDep = ...
1034 funDepIdKey :: Unique
1035 funDepIdKey = mkPreludeMiscIdUnique 445
1036
1037 -- data TySynEqn = ...
1038 tySynEqnIdKey :: Unique
1039 tySynEqnIdKey = mkPreludeMiscIdUnique 460
1040
1041 -- quasiquoting
1042 quoteExpKey, quotePatKey, quoteDecKey, quoteTypeKey :: Unique
1043 quoteExpKey = mkPreludeMiscIdUnique 470
1044 quotePatKey = mkPreludeMiscIdUnique 471
1045 quoteDecKey = mkPreludeMiscIdUnique 472
1046 quoteTypeKey = mkPreludeMiscIdUnique 473
1047
1048 -- data RuleBndr = ...
1049 ruleVarIdKey, typedRuleVarIdKey :: Unique
1050 ruleVarIdKey = mkPreludeMiscIdUnique 480
1051 typedRuleVarIdKey = mkPreludeMiscIdUnique 481
1052
1053 -- data AnnTarget = ...
1054 valueAnnotationIdKey, typeAnnotationIdKey, moduleAnnotationIdKey :: Unique
1055 valueAnnotationIdKey = mkPreludeMiscIdUnique 490
1056 typeAnnotationIdKey = mkPreludeMiscIdUnique 491
1057 moduleAnnotationIdKey = mkPreludeMiscIdUnique 492
1058
1059 -- type DerivPred = ...
1060 derivClauseIdKey :: Unique
1061 derivClauseIdKey = mkPreludeMiscIdUnique 493
1062
1063 -- data DerivStrategy = ...
1064 stockStrategyIdKey, anyclassStrategyIdKey, newtypeStrategyIdKey,
1065 viaStrategyIdKey :: Unique
1066 stockStrategyIdKey = mkPreludeDataConUnique 494
1067 anyclassStrategyIdKey = mkPreludeDataConUnique 495
1068 newtypeStrategyIdKey = mkPreludeDataConUnique 496
1069 viaStrategyIdKey = mkPreludeDataConUnique 497
1070
1071 {-
1072 ************************************************************************
1073 * *
1074 RdrNames
1075 * *
1076 ************************************************************************
1077 -}
1078
1079 lift_RDR, mkNameG_dRDR, mkNameG_vRDR :: RdrName
1080 lift_RDR = nameRdrName liftName
1081 mkNameG_dRDR = nameRdrName mkNameG_dName
1082 mkNameG_vRDR = nameRdrName mkNameG_vName
1083
1084 -- data Exp = ...
1085 conE_RDR, litE_RDR, appE_RDR, infixApp_RDR :: RdrName
1086 conE_RDR = nameRdrName conEName
1087 litE_RDR = nameRdrName litEName
1088 appE_RDR = nameRdrName appEName
1089 infixApp_RDR = nameRdrName infixAppName
1090
1091 -- data Lit = ...
1092 stringL_RDR, intPrimL_RDR, wordPrimL_RDR, floatPrimL_RDR,
1093 doublePrimL_RDR, stringPrimL_RDR, charPrimL_RDR :: RdrName
1094 stringL_RDR = nameRdrName stringLName
1095 intPrimL_RDR = nameRdrName intPrimLName
1096 wordPrimL_RDR = nameRdrName wordPrimLName
1097 floatPrimL_RDR = nameRdrName floatPrimLName
1098 doublePrimL_RDR = nameRdrName doublePrimLName
1099 stringPrimL_RDR = nameRdrName stringPrimLName
1100 charPrimL_RDR = nameRdrName charPrimLName