-- MonadFix
monadFixClassName, mfixName,
- -- Splittable class
- splittableClassName, splitName,
-
-- Other classes
randomClassName, randomGenClassName, monadPlusClassName,
-- PrelST module
runSTRepName = varQual gHC_ST FSLIT("runSTRep") runSTRepIdKey
--- The "split" Id for splittable implicit parameters
-splittableClassName = clsQual gLA_EXTS FSLIT("Splittable") splittableClassKey
-splitName = methName splittableClassName FSLIT("split") splitIdKey
-
-- Recursive-do notation
monadFixClassName = clsQual mONAD_FIX FSLIT("MonadFix") monadFixClassKey
mfixName = methName monadFixClassName FSLIT("mfix") mfixIdKey
Nothing noSrcLoc
conName :: Name -> FastString -> Unique -> Name
+-- Be careful to ghve constructor names the right parent!
conName tycon occ uniq
= mkExternalName uniq (nameModule tycon) (mkOccNameFS dataName occ)
(Just tycon) noSrcLoc
methName :: Name -> FastString -> Unique -> Name
+-- Be careful to ghve method names the right parent!
methName cls occ uniq
= mkExternalName uniq (nameModule cls) (mkVarOccFS occ)
(Just cls) noSrcLoc
typeable7ClassKey = mkPreludeClassUnique 27
monadFixClassKey = mkPreludeClassUnique 28
-splittableClassKey = mkPreludeClassUnique 29
monadPlusClassKey = mkPreludeClassUnique 30
randomClassKey = mkPreludeClassUnique 31
eitherTyConKey = mkPreludeTyConUnique 84
+-- Super Kinds constructors
+tySuperKindTyConKey = mkPreludeTyConUnique 85
+coSuperKindTyConKey = mkPreludeTyConUnique 86
+
+-- Kind constructors
+liftedTypeKindTyConKey = mkPreludeTyConUnique 87
+openTypeKindTyConKey = mkPreludeTyConUnique 88
+unliftedTypeKindTyConKey = mkPreludeTyConUnique 89
+ubxTupleKindTyConKey = mkPreludeTyConUnique 90
+argTypeKindTyConKey = mkPreludeTyConUnique 91
+
+-- Coercion constructors
+symCoercionTyConKey = mkPreludeTyConUnique 93
+transCoercionTyConKey = mkPreludeTyConUnique 94
+leftCoercionTyConKey = mkPreludeTyConUnique 95
+rightCoercionTyConKey = mkPreludeTyConUnique 96
+instCoercionTyConKey = mkPreludeTyConUnique 97
+unsafeCoercionTyConKey = mkPreludeTyConUnique 98
+
+
---------------- Template Haskell -------------------
-- USES TyConUniques 100-129
-----------------------------------------------------
failIOIdKey = mkPreludeMiscIdUnique 44
nullAddrIdKey = mkPreludeMiscIdUnique 46
voidArgIdKey = mkPreludeMiscIdUnique 47
-splitIdKey = mkPreludeMiscIdUnique 48
fstIdKey = mkPreludeMiscIdUnique 49
sndIdKey = mkPreludeMiscIdUnique 50
otherwiseIdKey = mkPreludeMiscIdUnique 51