X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;ds=sidebyside;f=compiler%2Fprelude%2FPrelNames.lhs;h=9e18d7af02abf7bcf1185de895e6beb94b122ac9;hb=f50b78749c03124f918014cd113c68b439b032bf;hp=bccf84fa1d469766dd7d0257304cfc1ce3953a93;hpb=b00b5bc04ff36a551552470060064f0b7d84ca30;p=ghc-hetmet.git diff --git a/compiler/prelude/PrelNames.lhs b/compiler/prelude/PrelNames.lhs index bccf84f..9e18d7a 100644 --- a/compiler/prelude/PrelNames.lhs +++ b/compiler/prelude/PrelNames.lhs @@ -60,7 +60,7 @@ import Unique ( Unique, Uniquable(..), hasKey, mkTupleTyConUnique ) import BasicTypes ( Boxity(..), Arity ) -import Name ( Name, mkInternalName, mkExternalName, nameModule ) +import Name ( Name, mkInternalName, mkExternalName ) import SrcLoc ( noSrcLoc ) import FastString \end{code} @@ -109,6 +109,7 @@ basicKnownKeyNames runMainIOName, orderingTyConName, rationalTyConName, + stringTyConName, ratioDataConName, ratioTyConName, integerTyConName, smallIntegerDataConName, largeIntegerDataConName, @@ -130,11 +131,15 @@ basicKnownKeyNames realFracClassName, -- numeric realFloatClassName, -- numeric dataClassName, + isStringClassName, -- Numeric stuff negateName, minusName, fromRationalName, fromIntegerName, geName, eqName, + + -- String stuff + fromStringName, -- Enum stuff enumFromName, enumFromThenName, @@ -186,6 +191,8 @@ basicKnownKeyNames otherwiseIdName, plusIntegerName, timesIntegerName, eqStringName, assertName, breakpointName, breakpointCondName, + breakpointAutoName, opaqueTyConName, unknownTyConName, + unknown1TyConName, unknown2TyConName, unknown3TyConName, assertErrorName, runSTRepName, printName, fstName, sndName, @@ -231,6 +238,7 @@ gHC_LIST = mkBaseModule FSLIT("GHC.List") gHC_PARR = mkBaseModule FSLIT("GHC.PArr") dATA_TUP = mkBaseModule FSLIT("Data.Tuple") dATA_EITHER = mkBaseModule FSLIT("Data.Either") +dATA_STRING = mkBaseModule FSLIT("Data.String") gHC_PACK = mkBaseModule FSLIT("GHC.Pack") gHC_CONC = mkBaseModule FSLIT("GHC.Conc") gHC_IO_BASE = mkBaseModule FSLIT("GHC.IOBase") @@ -370,6 +378,8 @@ minus_RDR = nameRdrName minusName times_RDR = varQual_RDR gHC_NUM FSLIT("*") plus_RDR = varQual_RDR gHC_NUM FSLIT("+") +fromString_RDR = nameRdrName fromStringName + compose_RDR = varQual_RDR gHC_BASE FSLIT(".") not_RDR = varQual_RDR gHC_BASE FSLIT("not") @@ -461,6 +471,7 @@ unpackCStringAppendName = varQual gHC_BASE FSLIT("unpackAppendCString#") unpackC unpackCStringFoldrName = varQual gHC_BASE FSLIT("unpackFoldrCString#") unpackCStringFoldrIdKey unpackCStringUtf8Name = varQual gHC_BASE FSLIT("unpackCStringUtf8#") unpackCStringUtf8IdKey eqStringName = varQual gHC_BASE FSLIT("eqString") eqStringIdKey +stringTyConName = tcQual gHC_BASE FSLIT("String") stringTyConKey -- The 'inline' function inlineIdName = varQual gHC_BASE FSLIT("inline") inlineIdKey @@ -480,16 +491,24 @@ returnMName = methName gHC_BASE FSLIT("return") returnMClassOpKey failMName = methName gHC_BASE FSLIT("fail") failMClassOpKey -- Random PrelBase functions +fromStringName = methName dATA_STRING FSLIT("fromString") fromStringClassOpKey otherwiseIdName = varQual gHC_BASE FSLIT("otherwise") otherwiseIdKey foldrName = varQual gHC_BASE FSLIT("foldr") foldrIdKey buildName = varQual gHC_BASE FSLIT("build") buildIdKey augmentName = varQual gHC_BASE FSLIT("augment") augmentIdKey appendName = varQual gHC_BASE FSLIT("++") appendIdKey -andName = varQual gHC_BASE FSLIT("&&") andIdKey -orName = varQual gHC_BASE FSLIT("||") orIdKey +andName = varQual gHC_BASE FSLIT("&&") andIdKey +orName = varQual gHC_BASE FSLIT("||") orIdKey assertName = varQual gHC_BASE FSLIT("assert") assertIdKey breakpointName = varQual gHC_BASE FSLIT("breakpoint") breakpointIdKey breakpointCondName= varQual gHC_BASE FSLIT("breakpointCond") breakpointCondIdKey +breakpointAutoName= varQual gHC_BASE FSLIT("breakpointAuto") breakpointAutoIdKey +unknownTyConName = tcQual gHC_BASE FSLIT("Unknown") unknownTyConKey +unknown1TyConName = tcQual gHC_BASE FSLIT("Unknown1") unknown1TyConKey +unknown2TyConName = tcQual gHC_BASE FSLIT("Unknown2") unknown2TyConKey +unknown3TyConName = tcQual gHC_BASE FSLIT("Unknown3") unknown3TyConKey +opaqueTyConName = tcQual gHC_BASE FSLIT("Opaque") opaqueTyConKey + breakpointJumpName = mkInternalName breakpointJumpIdKey @@ -500,6 +519,11 @@ breakpointCondJumpName breakpointCondJumpIdKey (mkOccNameFS varName FSLIT("breakpointCondJump")) noSrcLoc +breakpointAutoJumpName + = mkInternalName + breakpointAutoJumpIdKey + (mkOccNameFS varName FSLIT("breakpointAutoJump")) + noSrcLoc -- PrelTup fstName = varQual dATA_TUP FSLIT("fst") fstIdKey @@ -640,6 +664,7 @@ loopAName = varQual aRROW FSLIT("loop") loopAIdKey monadPlusClassName = clsQual mONAD FSLIT("MonadPlus") monadPlusClassKey randomClassName = clsQual rANDOM FSLIT("Random") randomClassKey randomGenClassName = clsQual rANDOM FSLIT("RandomGen") randomGenClassKey +isStringClassName = clsQual dATA_STRING FSLIT("IsString") isStringClassKey -- dotnet interop objectTyConName = tcQual dOTNET FSLIT("Object") objectTyConKey @@ -717,6 +742,8 @@ monadFixClassKey = mkPreludeClassUnique 28 monadPlusClassKey = mkPreludeClassUnique 30 randomClassKey = mkPreludeClassUnique 31 randomGenClassKey = mkPreludeClassUnique 32 + +isStringClassKey = mkPreludeClassUnique 33 \end{code} %************************************************************************ @@ -758,6 +785,10 @@ rationalTyConKey = mkPreludeTyConUnique 33 realWorldTyConKey = mkPreludeTyConUnique 34 stablePtrPrimTyConKey = mkPreludeTyConUnique 35 stablePtrTyConKey = mkPreludeTyConUnique 36 + +anyPrimTyConKey = mkPreludeTyConUnique 37 +anyPrimTyCon1Key = mkPreludeTyConUnique 38 + statePrimTyConKey = mkPreludeTyConUnique 50 stableNamePrimTyConKey = mkPreludeTyConUnique 51 stableNameTyConKey = mkPreludeTyConUnique 52 @@ -798,7 +829,7 @@ eitherTyConKey = mkPreludeTyConUnique 84 -- Super Kinds constructors tySuperKindTyConKey = mkPreludeTyConUnique 85 -coSuperKindTyConKey = mkPreludeTyConUnique 86 +coSuperKindTyConKey = mkPreludeTyConUnique 86 -- Kind constructors liftedTypeKindTyConKey = mkPreludeTyConUnique 87 @@ -815,6 +846,14 @@ rightCoercionTyConKey = mkPreludeTyConUnique 96 instCoercionTyConKey = mkPreludeTyConUnique 97 unsafeCoercionTyConKey = mkPreludeTyConUnique 98 +unknownTyConKey = mkPreludeTyConUnique 99 +unknown1TyConKey = mkPreludeTyConUnique 130 +unknown2TyConKey = mkPreludeTyConUnique 131 +unknown3TyConKey = mkPreludeTyConUnique 132 +opaqueTyConKey = mkPreludeTyConUnique 133 + +stringTyConKey = mkPreludeTyConUnique 134 + ---------------- Template Haskell ------------------- -- USES TyConUniques 100-129 @@ -927,10 +966,12 @@ assertErrorIdKey = mkPreludeMiscIdUnique 61 breakpointIdKey = mkPreludeMiscIdUnique 62 breakpointCondIdKey = mkPreludeMiscIdUnique 63 -breakpointJumpIdKey = mkPreludeMiscIdUnique 64 -breakpointCondJumpIdKey = mkPreludeMiscIdUnique 65 +breakpointAutoIdKey = mkPreludeMiscIdUnique 64 +breakpointJumpIdKey = mkPreludeMiscIdUnique 65 +breakpointCondJumpIdKey = mkPreludeMiscIdUnique 66 +breakpointAutoJumpIdKey = mkPreludeMiscIdUnique 67 -inlineIdKey = mkPreludeMiscIdUnique 66 +inlineIdKey = mkPreludeMiscIdUnique 68 -- Parallel array functions nullPIdKey = mkPreludeMiscIdUnique 80 @@ -991,6 +1032,8 @@ appAIdKey = mkPreludeMiscIdUnique 122 choiceAIdKey = mkPreludeMiscIdUnique 123 -- ||| loopAIdKey = mkPreludeMiscIdUnique 124 +fromStringClassOpKey = mkPreludeMiscIdUnique 125 + ---------------- Template Haskell ------------------- -- USES IdUniques 200-399 ----------------------------------------------------- @@ -1050,7 +1093,9 @@ needsDataDeclCtxtClassKeys = -- see comments in TcDeriv standardClassKeys = derivableClassKeys ++ numericClassKeys ++ [randomClassKey, randomGenClassKey, functorClassKey, - monadClassKey, monadPlusClassKey] + monadClassKey, monadPlusClassKey, + isStringClassKey + ] \end{code} @derivableClassKeys@ is also used in checking \tr{deriving} constructs