stringTyConName,
ratioDataConName,
ratioTyConName,
- integerTyConName, smallIntegerDataConName, largeIntegerDataConName,
+ integerTyConName, smallIntegerName,
-- Classes. *Must* include:
-- classes that are grabbed by key (e.g., eqClassKey)
--MetaHaskell Extension Add a new module here
\begin{code}
pRELUDE = mkBaseModule_ pRELUDE_NAME
-gHC_PRIM = mkBaseModule FSLIT("GHC.Prim") -- Primitive types and values
+gHC_PRIM = mkPrimModule FSLIT("GHC.Prim") -- Primitive types and values
+gHC_BOOL = mkPrimModule FSLIT("GHC.Bool")
+gHC_GENERICS = mkPrimModule FSLIT("GHC.Generics")
gHC_BASE = mkBaseModule FSLIT("GHC.Base")
gHC_ENUM = mkBaseModule FSLIT("GHC.Enum")
gHC_SHOW = mkBaseModule FSLIT("GHC.Show")
gHC_READ = mkBaseModule FSLIT("GHC.Read")
gHC_NUM = mkBaseModule FSLIT("GHC.Num")
+gHC_INTEGER = mkIntegerModule FSLIT("GHC.Integer")
gHC_LIST = mkBaseModule FSLIT("GHC.List")
gHC_PARR = mkBaseModule FSLIT("GHC.PArr")
dATA_TUP = mkBaseModule FSLIT("Data.Tuple")
pRELUDE_NAME = mkModuleNameFS FSLIT("Prelude")
mAIN_NAME = mkModuleNameFS FSLIT("Main")
+mkPrimModule :: FastString -> Module
+mkPrimModule m = mkModule primPackageId (mkModuleNameFS m)
+
+mkIntegerModule :: FastString -> Module
+mkIntegerModule m = mkModule integerPackageId (mkModuleNameFS m)
+
mkBaseModule :: FastString -> Module
mkBaseModule m = mkModule basePackageId (mkModuleNameFS m)
undefined_RDR = varQual_RDR gHC_ERR FSLIT("undefined")
-crossDataCon_RDR = dataQual_RDR gHC_BASE FSLIT(":*:")
-inlDataCon_RDR = dataQual_RDR gHC_BASE FSLIT("Inl")
-inrDataCon_RDR = dataQual_RDR gHC_BASE FSLIT("Inr")
-genUnitDataCon_RDR = dataQual_RDR gHC_BASE FSLIT("Unit")
+crossDataCon_RDR = dataQual_RDR gHC_GENERICS FSLIT(":*:")
+inlDataCon_RDR = dataQual_RDR gHC_GENERICS FSLIT("Inl")
+inrDataCon_RDR = dataQual_RDR gHC_GENERICS FSLIT("Inr")
+genUnitDataCon_RDR = dataQual_RDR gHC_GENERICS FSLIT("Unit")
----------------------
varQual_RDR mod str = mkOrig mod (mkOccNameFS varName str)
rightDataConName = conName dATA_EITHER FSLIT("Right") rightDataConKey
-- Generics
-crossTyConName = tcQual gHC_BASE FSLIT(":*:") crossTyConKey
-plusTyConName = tcQual gHC_BASE FSLIT(":+:") plusTyConKey
-genUnitTyConName = tcQual gHC_BASE FSLIT("Unit") genUnitTyConKey
+crossTyConName = tcQual gHC_GENERICS FSLIT(":*:") crossTyConKey
+plusTyConName = tcQual gHC_GENERICS FSLIT(":+:") plusTyConKey
+genUnitTyConName = tcQual gHC_GENERICS FSLIT("Unit") genUnitTyConKey
-- Base strings Strings
unpackCStringName = varQual gHC_BASE FSLIT("unpackCString#") unpackCStringIdKey
fromIntegerName = methName gHC_NUM FSLIT("fromInteger") fromIntegerClassOpKey
minusName = methName gHC_NUM FSLIT("-") minusClassOpKey
negateName = methName gHC_NUM FSLIT("negate") negateClassOpKey
-plusIntegerName = varQual gHC_NUM FSLIT("plusInteger") plusIntegerIdKey
-timesIntegerName = varQual gHC_NUM FSLIT("timesInteger") timesIntegerIdKey
-integerTyConName = tcQual gHC_NUM FSLIT("Integer") integerTyConKey
-smallIntegerDataConName = conName gHC_NUM FSLIT("S#") smallIntegerDataConKey
-largeIntegerDataConName = conName gHC_NUM FSLIT("J#") largeIntegerDataConKey
+plusIntegerName = varQual gHC_INTEGER FSLIT("plusInteger") plusIntegerIdKey
+timesIntegerName = varQual gHC_INTEGER FSLIT("timesInteger") timesIntegerIdKey
+integerTyConName = tcQual gHC_INTEGER FSLIT("Integer") integerTyConKey
+smallIntegerName = varQual gHC_INTEGER FSLIT("smallInteger") smallIntegerIdKey
-- PrelReal types and classes
rationalTyConName = tcQual gHC_REAL FSLIT("Rational") rationalTyConKey
falseDataConKey = mkPreludeDataConUnique 4
floatDataConKey = mkPreludeDataConUnique 5
intDataConKey = mkPreludeDataConUnique 6
-smallIntegerDataConKey = mkPreludeDataConUnique 7
-largeIntegerDataConKey = mkPreludeDataConUnique 8
nilDataConKey = mkPreludeDataConUnique 11
ratioDataConKey = mkPreludeDataConUnique 12
stableNameDataConKey = mkPreludeDataConUnique 14
returnIOIdKey = mkPreludeMiscIdUnique 37
deRefStablePtrIdKey = mkPreludeMiscIdUnique 38
newStablePtrIdKey = mkPreludeMiscIdUnique 39
+smallIntegerIdKey = mkPreludeMiscIdUnique 40
plusIntegerIdKey = mkPreludeMiscIdUnique 41
timesIntegerIdKey = mkPreludeMiscIdUnique 42
printIdKey = mkPreludeMiscIdUnique 43