X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fprelude%2FPrelNames.lhs;h=b86f49c0bb9c71ed377c15ace0c5bad4cdd05541;hb=8b08c15b8ace5a76e341939081fbb6ad2736ddd1;hp=03a96927c278040260eb55ce2d3048467460a314;hpb=bf40e268d916947786c56ec38db86190854a2d2c;p=ghc-hetmet.git diff --git a/compiler/prelude/PrelNames.lhs b/compiler/prelude/PrelNames.lhs index 03a9692..b86f49c 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} @@ -186,6 +186,8 @@ basicKnownKeyNames otherwiseIdName, plusIntegerName, timesIntegerName, eqStringName, assertName, breakpointName, breakpointCondName, + breakpointAutoName, opaqueTyConName, unknownTyConName, + unknown1TyConName, unknown2TyConName, unknown3TyConName, assertErrorName, runSTRepName, printName, fstName, sndName, @@ -446,9 +448,9 @@ runMainIOName = varQual gHC_TOP_HANDLER FSLIT("runMainIO") runMainKey orderingTyConName = tcQual gHC_BASE FSLIT("Ordering") orderingTyConKey -eitherTyConName = tcQual dATA_EITHER FSLIT("Either") eitherTyConKey -leftDataConName = conName eitherTyConName FSLIT("Left") leftDataConKey -rightDataConName = conName eitherTyConName FSLIT("Right") rightDataConKey +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 @@ -466,18 +468,18 @@ eqStringName = varQual gHC_BASE FSLIT("eqString") eqStringIdKey inlineIdName = varQual gHC_BASE FSLIT("inline") inlineIdKey -- Base classes (Eq, Ord, Functor) -eqClassName = clsQual gHC_BASE FSLIT("Eq") eqClassKey -eqName = methName eqClassName FSLIT("==") eqClassOpKey -ordClassName = clsQual gHC_BASE FSLIT("Ord") ordClassKey -geName = methName ordClassName FSLIT(">=") geClassOpKey -functorClassName = clsQual gHC_BASE FSLIT("Functor") functorClassKey +eqClassName = clsQual gHC_BASE FSLIT("Eq") eqClassKey +eqName = methName gHC_BASE FSLIT("==") eqClassOpKey +ordClassName = clsQual gHC_BASE FSLIT("Ord") ordClassKey +geName = methName gHC_BASE FSLIT(">=") geClassOpKey +functorClassName = clsQual gHC_BASE FSLIT("Functor") functorClassKey -- Class Monad -monadClassName = clsQual gHC_BASE FSLIT("Monad") monadClassKey -thenMName = methName monadClassName FSLIT(">>") thenMClassOpKey -bindMName = methName monadClassName FSLIT(">>=") bindMClassOpKey -returnMName = methName monadClassName FSLIT("return") returnMClassOpKey -failMName = methName monadClassName FSLIT("fail") failMClassOpKey +monadClassName = clsQual gHC_BASE FSLIT("Monad") monadClassKey +thenMName = methName gHC_BASE FSLIT(">>") thenMClassOpKey +bindMName = methName gHC_BASE FSLIT(">>=") bindMClassOpKey +returnMName = methName gHC_BASE FSLIT("return") returnMClassOpKey +failMName = methName gHC_BASE FSLIT("fail") failMClassOpKey -- Random PrelBase functions otherwiseIdName = varQual gHC_BASE FSLIT("otherwise") otherwiseIdKey @@ -490,6 +492,13 @@ 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,31 +509,36 @@ breakpointCondJumpName breakpointCondJumpIdKey (mkOccNameFS varName FSLIT("breakpointCondJump")) noSrcLoc +breakpointAutoJumpName + = mkInternalName + breakpointAutoJumpIdKey + (mkOccNameFS varName FSLIT("breakpointAutoJump")) + noSrcLoc -- PrelTup fstName = varQual dATA_TUP FSLIT("fst") fstIdKey sndName = varQual dATA_TUP FSLIT("snd") sndIdKey -- Module PrelNum -numClassName = clsQual gHC_NUM FSLIT("Num") numClassKey -fromIntegerName = methName numClassName FSLIT("fromInteger") fromIntegerClassOpKey -minusName = methName numClassName FSLIT("-") minusClassOpKey -negateName = methName numClassName 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 integerTyConName FSLIT("S#") smallIntegerDataConKey -largeIntegerDataConName = conName integerTyConName FSLIT("J#") largeIntegerDataConKey +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 -- PrelReal types and classes -rationalTyConName = tcQual gHC_REAL FSLIT("Rational") rationalTyConKey -ratioTyConName = tcQual gHC_REAL FSLIT("Ratio") ratioTyConKey -ratioDataConName = conName ratioTyConName FSLIT(":%") ratioDataConKey -realClassName = clsQual gHC_REAL FSLIT("Real") realClassKey -integralClassName = clsQual gHC_REAL FSLIT("Integral") integralClassKey -realFracClassName = clsQual gHC_REAL FSLIT("RealFrac") realFracClassKey -fractionalClassName = clsQual gHC_REAL FSLIT("Fractional") fractionalClassKey -fromRationalName = methName fractionalClassName FSLIT("fromRational") fromRationalClassOpKey +rationalTyConName = tcQual gHC_REAL FSLIT("Rational") rationalTyConKey +ratioTyConName = tcQual gHC_REAL FSLIT("Ratio") ratioTyConKey +ratioDataConName = conName gHC_REAL FSLIT(":%") ratioDataConKey +realClassName = clsQual gHC_REAL FSLIT("Real") realClassKey +integralClassName = clsQual gHC_REAL FSLIT("Integral") integralClassKey +realFracClassName = clsQual gHC_REAL FSLIT("RealFrac") realFracClassKey +fractionalClassName = clsQual gHC_REAL FSLIT("Fractional") fractionalClassKey +fromRationalName = methName gHC_REAL FSLIT("fromRational") fromRationalClassOpKey -- PrelFloat classes floatingClassName = clsQual gHC_FLOAT FSLIT("Floating") floatingClassKey @@ -555,10 +569,10 @@ assertErrorName = varQual gHC_ERR FSLIT("assertError") assertErrorIdKey -- Enum module (Enum, Bounded) enumClassName = clsQual gHC_ENUM FSLIT("Enum") enumClassKey -enumFromName = methName enumClassName FSLIT("enumFrom") enumFromClassOpKey -enumFromToName = methName enumClassName FSLIT("enumFromTo") enumFromToClassOpKey -enumFromThenName = methName enumClassName FSLIT("enumFromThen") enumFromThenClassOpKey -enumFromThenToName = methName enumClassName FSLIT("enumFromThenTo") enumFromThenToClassOpKey +enumFromName = methName gHC_ENUM FSLIT("enumFrom") enumFromClassOpKey +enumFromToName = methName gHC_ENUM FSLIT("enumFromTo") enumFromToClassOpKey +enumFromThenName = methName gHC_ENUM FSLIT("enumFromThen") enumFromThenClassOpKey +enumFromThenToName = methName gHC_ENUM FSLIT("enumFromThenTo") enumFromThenToClassOpKey boundedClassName = clsQual gHC_ENUM FSLIT("Bounded") boundedClassKey -- List functions @@ -590,7 +604,7 @@ indexOfPName = varQual gHC_PARR FSLIT("indexOfP") indexOfPIdKey -- IOBase things ioTyConName = tcQual gHC_IO_BASE FSLIT("IO") ioTyConKey -ioDataConName = conName ioTyConName FSLIT("IO") ioDataConKey +ioDataConName = conName gHC_IO_BASE FSLIT("IO") ioDataConKey thenIOName = varQual gHC_IO_BASE FSLIT("thenIO") thenIOIdKey bindIOName = varQual gHC_IO_BASE FSLIT("bindIO") bindIOIdKey returnIOName = varQual gHC_IO_BASE FSLIT("returnIO") returnIOIdKey @@ -611,7 +625,7 @@ word16TyConName = tcQual gHC_WORD FSLIT("Word16") word16TyConKey word32TyConName = tcQual gHC_WORD FSLIT("Word32") word32TyConKey word64TyConName = tcQual gHC_WORD FSLIT("Word64") word64TyConKey wordTyConName = tcQual gHC_WORD FSLIT("Word") wordTyConKey -wordDataConName = conName wordTyConName FSLIT("W#") wordDataConKey +wordDataConName = conName gHC_WORD FSLIT("W#") wordDataConKey -- PrelPtr module ptrTyConName = tcQual gHC_PTR FSLIT("Ptr") ptrTyConKey @@ -626,7 +640,7 @@ runSTRepName = varQual gHC_ST FSLIT("runSTRep") runSTRepIdKey -- Recursive-do notation monadFixClassName = clsQual mONAD_FIX FSLIT("MonadFix") monadFixClassKey -mfixName = methName monadFixClassName FSLIT("mfix") mfixIdKey +mfixName = methName mONAD_FIX FSLIT("mfix") mfixIdKey -- Arrow notation arrAName = varQual aRROW FSLIT("arr") arrAIdKey @@ -666,18 +680,15 @@ tcQual = mk_known_key_name tcName clsQual = mk_known_key_name clsName mk_known_key_name space mod str uniq - = mkExternalName uniq mod (mkOccNameFS space str) - Nothing noSrcLoc - -conName :: Name -> FastString -> Unique -> Name -conName tycon occ uniq - = mkExternalName uniq (nameModule tycon) (mkOccNameFS dataName occ) - (Just tycon) noSrcLoc - -methName :: Name -> FastString -> Unique -> Name -methName cls occ uniq - = mkExternalName uniq (nameModule cls) (mkVarOccFS occ) - (Just cls) noSrcLoc + = mkExternalName uniq mod (mkOccNameFS space str) noSrcLoc + +conName :: Module -> FastString -> Unique -> Name +conName mod occ uniq + = mkExternalName uniq mod (mkOccNameFS dataName occ) noSrcLoc + +methName :: Module -> FastString -> Unique -> Name +methName mod occ uniq + = mkExternalName uniq mod (mkVarOccFS occ) noSrcLoc \end{code} %************************************************************************ @@ -761,6 +772,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 @@ -801,7 +816,7 @@ eitherTyConKey = mkPreludeTyConUnique 84 -- Super Kinds constructors tySuperKindTyConKey = mkPreludeTyConUnique 85 -coSuperKindTyConKey = mkPreludeTyConUnique 86 +coSuperKindTyConKey = mkPreludeTyConUnique 86 -- Kind constructors liftedTypeKindTyConKey = mkPreludeTyConUnique 87 @@ -819,6 +834,12 @@ instCoercionTyConKey = mkPreludeTyConUnique 97 unsafeCoercionTyConKey = mkPreludeTyConUnique 98 +unknownTyConKey = mkPreludeTyConUnique 99 +unknown1TyConKey = mkPreludeTyConUnique 100 +unknown2TyConKey = mkPreludeTyConUnique 101 +unknown3TyConKey = mkPreludeTyConUnique 102 +opaqueTyConKey = mkPreludeTyConUnique 103 + ---------------- Template Haskell ------------------- -- USES TyConUniques 100-129 ----------------------------------------------------- @@ -930,10 +951,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