X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fprelude%2FPrelNames.lhs;h=9d314f769bdeb4e9e81f3e4fef965a825bb47e5b;hb=abe832178467f75cebdeb58443e3142fc464b43e;hp=8f06f504a5f34ddbdbfa545b2e67d3bc5b95869c;hpb=d19a72ea089deab3aa4bb584e69c102daebb1cb4;p=ghc-hetmet.git diff --git a/compiler/prelude/PrelNames.lhs b/compiler/prelude/PrelNames.lhs index 8f06f50..9d314f7 100644 --- a/compiler/prelude/PrelNames.lhs +++ b/compiler/prelude/PrelNames.lhs @@ -118,7 +118,7 @@ basicKnownKeyNames stringTyConName, ratioDataConName, ratioTyConName, - integerTyConName, smallIntegerDataConName, largeIntegerDataConName, + integerTyConName, smallIntegerName, -- Classes. *Must* include: -- classes that are grabbed by key (e.g., eqClassKey) @@ -236,12 +236,16 @@ genericTyConNames = [crossTyConName, plusTyConName, genUnitTyConName] --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_ORDERING = mkPrimModule FSLIT("GHC.Ordering") +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") @@ -288,6 +292,12 @@ thFAKE = mkMainModule FSLIT(":THFake") 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) @@ -334,11 +344,12 @@ eq_RDR = nameRdrName eqName ge_RDR = nameRdrName geName ne_RDR = varQual_RDR gHC_BASE FSLIT("/=") le_RDR = varQual_RDR gHC_BASE FSLIT("<=") +lt_RDR = varQual_RDR gHC_BASE FSLIT("<") gt_RDR = varQual_RDR gHC_BASE FSLIT(">") compare_RDR = varQual_RDR gHC_BASE FSLIT("compare") -ltTag_RDR = dataQual_RDR gHC_BASE FSLIT("LT") -eqTag_RDR = dataQual_RDR gHC_BASE FSLIT("EQ") -gtTag_RDR = dataQual_RDR gHC_BASE FSLIT("GT") +ltTag_RDR = dataQual_RDR gHC_ORDERING FSLIT("LT") +eqTag_RDR = dataQual_RDR gHC_ORDERING FSLIT("EQ") +gtTag_RDR = dataQual_RDR gHC_ORDERING FSLIT("GT") eqClass_RDR = nameRdrName eqClassName numClass_RDR = nameRdrName numClassName @@ -438,10 +449,10 @@ mkTyConRep_RDR = varQual_RDR tYPEABLE FSLIT("mkTyCon") 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) @@ -467,16 +478,16 @@ and it's convenient to write them all down in one place. \begin{code} runMainIOName = varQual gHC_TOP_HANDLER FSLIT("runMainIO") runMainKey -orderingTyConName = tcQual gHC_BASE FSLIT("Ordering") orderingTyConKey +orderingTyConName = tcQual gHC_ORDERING FSLIT("Ordering") orderingTyConKey eitherTyConName = tcQual dATA_EITHER FSLIT("Either") eitherTyConKey leftDataConName = conName dATA_EITHER FSLIT("Left") leftDataConKey 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 @@ -547,11 +558,10 @@ numClassName = clsQual gHC_NUM FSLIT("Num") numClassKey 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 @@ -888,8 +898,6 @@ doubleDataConKey = mkPreludeDataConUnique 3 falseDataConKey = mkPreludeDataConUnique 4 floatDataConKey = mkPreludeDataConUnique 5 intDataConKey = mkPreludeDataConUnique 6 -smallIntegerDataConKey = mkPreludeDataConUnique 7 -largeIntegerDataConKey = mkPreludeDataConUnique 8 nilDataConKey = mkPreludeDataConUnique 11 ratioDataConKey = mkPreludeDataConUnique 12 stableNameDataConKey = mkPreludeDataConUnique 14 @@ -956,6 +964,7 @@ bindIOIdKey = mkPreludeMiscIdUnique 36 returnIOIdKey = mkPreludeMiscIdUnique 37 deRefStablePtrIdKey = mkPreludeMiscIdUnique 38 newStablePtrIdKey = mkPreludeMiscIdUnique 39 +smallIntegerIdKey = mkPreludeMiscIdUnique 40 plusIntegerIdKey = mkPreludeMiscIdUnique 41 timesIntegerIdKey = mkPreludeMiscIdUnique 42 printIdKey = mkPreludeMiscIdUnique 43