X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2Fprelude%2FPrelNames.lhs;h=4d834dfaacf99d7be12d94c00c9352121451a9f1;hb=ba2843abdfe6f055777e4e66e8add769fce31d29;hp=6ad498079ea95104503be7339e00af847c551f83;hpb=a7d8f43718b167689c0a4a4c23b33a325e0239f1;p=ghc-hetmet.git diff --git a/ghc/compiler/prelude/PrelNames.lhs b/ghc/compiler/prelude/PrelNames.lhs index 6ad4980..4d834df 100644 --- a/ghc/compiler/prelude/PrelNames.lhs +++ b/ghc/compiler/prelude/PrelNames.lhs @@ -136,8 +136,6 @@ basicKnownKeyNames byteArrayTyConName, mutableByteArrayTyConName, bcoPrimTyConName, - stablePtrTyConName, - stablePtrDataConName, -- Classes. *Must* include: -- classes that are grabbed by key (e.g., eqClassKey) @@ -177,6 +175,10 @@ basicKnownKeyNames -- MonadRec stuff mfixName, + -- Arrow stuff + arrAName, composeAName, firstAName, + appAName, choiceAName, loopAName, + -- Ix stuff ixClassName, @@ -203,6 +205,7 @@ basicKnownKeyNames toPName, bpermutePName, bpermuteDftPName, indexOfPName, -- FFI primitive types that are not wired-in. + stablePtrTyConName, ptrTyConName, funPtrTyConName, addrTyConName, int8TyConName, int16TyConName, int32TyConName, int64TyConName, word8TyConName, word16TyConName, word32TyConName, word64TyConName, @@ -216,6 +219,9 @@ basicKnownKeyNames -- Booleans andName, orName + -- The Either type + , eitherTyConName, leftDataConName, rightDataConName + -- dotnet interop , objectTyConName, marshalObjectName, unmarshalObjectName , marshalStringName, unmarshalStringName, checkDotnetResName @@ -245,6 +251,7 @@ pREL_NUM_Name = mkModuleName "GHC.Num" pREL_LIST_Name = mkModuleName "GHC.List" pREL_PARR_Name = mkModuleName "GHC.PArr" pREL_TUP_Name = mkModuleName "Data.Tuple" +pREL_EITHER_Name = mkModuleName "Data.Either" pREL_PACK_Name = mkModuleName "GHC.Pack" pREL_CONC_Name = mkModuleName "GHC.Conc" pREL_IO_BASE_Name = mkModuleName "GHC.IOBase" @@ -260,7 +267,7 @@ pREL_FLOAT_Name = mkModuleName "GHC.Float" pREL_TOP_HANDLER_Name = mkModuleName "GHC.TopHandler" sYSTEM_IO_Name = mkModuleName "System.IO" dYNAMIC_Name = mkModuleName "Data.Dynamic" -tRAVERSE_Name = mkModuleName "Data.Traverse" +tYPEABLE_Name = mkModuleName "Data.Typeable" gENERICS_Name = mkModuleName "Data.Generics" dOTNET_Name = mkModuleName "GHC.Dotnet" @@ -271,6 +278,7 @@ mAIN_Name = mkModuleName "Main" pREL_INT_Name = mkModuleName "GHC.Int" pREL_WORD_Name = mkModuleName "GHC.Word" mONAD_FIX_Name = mkModuleName "Control.Monad.Fix" +aRROW_Name = mkModuleName "Control.Arrow" aDDR_Name = mkModuleName "Addr" gLA_EXTS_Name = mkModuleName "GHC.Exts" @@ -288,12 +296,16 @@ pREL_REAL = mkBasePkgModule pREL_REAL_Name pREL_FLOAT = mkBasePkgModule pREL_FLOAT_Name pRELUDE = mkBasePkgModule pRELUDE_Name - -iNTERACTIVE = mkHomeModule (mkModuleName "$Interactive") - -- MetaHaskell Extension text2 from Meta/work/gen.hs mETA_META_Name = mkModuleName "Language.Haskell.THSyntax" +rOOT_MAIN_Name = mkModuleName ":Main" -- Root module for initialisation +rOOT_MAIN = mkHomeModule rOOT_MAIN_Name + -- The ':xxx' makes a moudle name that the user can never + -- use himself. The z-encoding for ':' is "ZC", so the z-encoded + -- module name still starts with a capital letter, which keeps + -- the z-encoded version consistent. +iNTERACTIVE = mkHomeModule (mkModuleName ":Interactive") \end{code} %************************************************************************ @@ -359,6 +371,9 @@ false_RDR = nameRdrName falseDataConName true_RDR = nameRdrName trueDataConName and_RDR = nameRdrName andName +left_RDR = nameRdrName leftDataConName +right_RDR = nameRdrName rightDataConName + error_RDR = nameRdrName errorName fromEnum_RDR = varQual_RDR pREL_ENUM_Name FSLIT("fromEnum") @@ -382,6 +397,7 @@ unpackCStringFoldr_RDR = nameRdrName unpackCStringFoldrName unpackCStringUtf8_RDR = nameRdrName unpackCStringUtf8Name newStablePtr_RDR = nameRdrName newStablePtrName +addrDataCon_RDR = dataQual_RDR aDDR_Name FSLIT("A#") bindIO_RDR = nameRdrName bindIOName returnIO_RDR = nameRdrName returnIOName @@ -429,9 +445,9 @@ showString_RDR = varQual_RDR pREL_SHOW_Name FSLIT("showString") showSpace_RDR = varQual_RDR pREL_SHOW_Name FSLIT("showSpace") showParen_RDR = varQual_RDR pREL_SHOW_Name FSLIT("showParen") -typeOf_RDR = varQual_RDR dYNAMIC_Name FSLIT("typeOf") -mkTypeRep_RDR = varQual_RDR dYNAMIC_Name FSLIT("mkAppTy") -mkTyConRep_RDR = varQual_RDR dYNAMIC_Name FSLIT("mkTyCon") +typeOf_RDR = varQual_RDR tYPEABLE_Name FSLIT("typeOf") +mkTypeRep_RDR = varQual_RDR tYPEABLE_Name FSLIT("mkAppTy") +mkTyConRep_RDR = varQual_RDR tYPEABLE_Name FSLIT("mkTyCon") constr_RDR = dataQual_RDR gENERICS_Name FSLIT("Constr") gfoldl_RDR = varQual_RDR gENERICS_Name FSLIT("gfoldl") @@ -462,8 +478,8 @@ and it's convenient to write them all down in one place. \begin{code} -dollarMainName = varQual mAIN_Name FSLIT("$main") dollarMainKey -runIOName = varQual pREL_TOP_HANDLER_Name FSLIT("runIO") runMainKey +rootMainName = varQual rOOT_MAIN_Name FSLIT("main") rootMainKey +runIOName = varQual pREL_TOP_HANDLER_Name FSLIT("runIO") runMainKey -- Stuff from GHC.Prim superKindName = kindQual FSLIT("KX") kindConKey @@ -521,6 +537,10 @@ consDataConName = wDataQual pREL_BASE_Name FSLIT(":") consDataConKey eqName = varQual pREL_BASE_Name FSLIT("==") eqClassOpKey geName = varQual pREL_BASE_Name FSLIT(">=") geClassOpKey +eitherTyConName = tcQual pREL_EITHER_Name FSLIT("Either") eitherTyConKey +leftDataConName = dataQual pREL_EITHER_Name FSLIT("Left") leftDataConKey +rightDataConName = dataQual pREL_EITHER_Name FSLIT("Right") rightDataConKey + -- Generics crossTyConName = tcQual pREL_BASE_Name FSLIT(":*:") crossTyConKey crossDataConName = dataQual pREL_BASE_Name FSLIT(":*:") crossDataConKey @@ -598,7 +618,7 @@ realFloatClassName = clsQual pREL_FLOAT_Name FSLIT("RealFloat") realFloatClassK ixClassName = clsQual pREL_ARR_Name FSLIT("Ix") ixClassKey -- Class Typeable and Data -typeableClassName = clsQual dYNAMIC_Name FSLIT("Typeable") typeableClassKey +typeableClassName = clsQual tYPEABLE_Name FSLIT("Typeable") typeableClassKey dataClassName = clsQual gENERICS_Name FSLIT("Data") dataClassKey -- Enum module (Enum, Bounded) @@ -664,14 +684,11 @@ wordTyConName = wTcQual pREL_WORD_Name FSLIT("Word") wordTyConKey wordDataConName = wDataQual pREL_WORD_Name FSLIT("W#") wordDataConKey -- Addr module -addrTyConName = wTcQual aDDR_Name FSLIT("Addr") addrTyConKey -addrDataConName = wDataQual aDDR_Name FSLIT("A#") addrDataConKey +addrTyConName = tcQual aDDR_Name FSLIT("Addr") addrTyConKey -- PrelPtr module -ptrTyConName = wTcQual pREL_PTR_Name FSLIT("Ptr") ptrTyConKey -ptrDataConName = wDataQual pREL_PTR_Name FSLIT("Ptr") ptrDataConKey -funPtrTyConName = wTcQual pREL_PTR_Name FSLIT("FunPtr") funPtrTyConKey -funPtrDataConName = wDataQual pREL_PTR_Name FSLIT("FunPtr") funPtrDataConKey +ptrTyConName = tcQual pREL_PTR_Name FSLIT("Ptr") ptrTyConKey +funPtrTyConName = tcQual pREL_PTR_Name FSLIT("FunPtr") funPtrTyConKey -- Byte array types byteArrayTyConName = tcQual pREL_BYTEARR_Name FSLIT("ByteArray") byteArrayTyConKey @@ -679,7 +696,6 @@ mutableByteArrayTyConName = tcQual pREL_BYTEARR_Name FSLIT("MutableByteArray") -- Foreign objects and weak pointers stablePtrTyConName = tcQual pREL_STABLE_Name FSLIT("StablePtr") stablePtrTyConKey -stablePtrDataConName = dataQual pREL_STABLE_Name FSLIT("StablePtr") stablePtrDataConKey newStablePtrName = varQual pREL_STABLE_Name FSLIT("newStablePtr") newStablePtrIdKey -- Error module @@ -703,6 +719,14 @@ splitName = varQual gLA_EXTS_Name FSLIT("split") splitIdKey -- Recursive-do notation mfixName = varQual mONAD_FIX_Name FSLIT("mfix") mfixIdKey +-- Arrow notation +arrAName = varQual aRROW_Name FSLIT("arr") arrAIdKey +composeAName = varQual aRROW_Name FSLIT(">>>") composeAIdKey +firstAName = varQual aRROW_Name FSLIT("first") firstAIdKey +appAName = varQual aRROW_Name FSLIT("app") appAIdKey +choiceAName = varQual aRROW_Name FSLIT("|||") choiceAIdKey +loopAName = varQual aRROW_Name FSLIT("loop") loopAIdKey + -- dotnet interop objectTyConName = wTcQual dOTNET_Name FSLIT("Object") objectTyConKey unmarshalObjectName = varQual dOTNET_Name FSLIT("unmarshalObject") unmarshalObjectIdKey @@ -855,6 +879,8 @@ parrTyConKey = mkPreludeTyConUnique 82 -- dotnet interop objectTyConKey = mkPreludeTyConUnique 83 +eitherTyConKey = mkPreludeTyConUnique 84 + ---------------- Template Haskell ------------------- -- USES TyConUniques 100-119 ----------------------------------------------------- @@ -869,7 +895,6 @@ unitTyConKey = mkTupleTyConUnique Boxed 0 %************************************************************************ \begin{code} -addrDataConKey = mkPreludeDataConUnique 0 charDataConKey = mkPreludeDataConUnique 1 consDataConKey = mkPreludeDataConUnique 2 doubleDataConKey = mkPreludeDataConUnique 3 @@ -880,13 +905,10 @@ smallIntegerDataConKey = mkPreludeDataConUnique 7 largeIntegerDataConKey = mkPreludeDataConUnique 8 nilDataConKey = mkPreludeDataConUnique 11 ratioDataConKey = mkPreludeDataConUnique 12 -stablePtrDataConKey = mkPreludeDataConUnique 13 stableNameDataConKey = mkPreludeDataConUnique 14 trueDataConKey = mkPreludeDataConUnique 15 wordDataConKey = mkPreludeDataConUnique 16 ioDataConKey = mkPreludeDataConUnique 17 -ptrDataConKey = mkPreludeDataConUnique 18 -funPtrDataConKey = mkPreludeDataConUnique 19 -- Generic data constructors crossDataConKey = mkPreludeDataConUnique 20 @@ -896,6 +918,9 @@ genUnitDataConKey = mkPreludeDataConUnique 23 -- Data constructor for parallel arrays parrDataConKey = mkPreludeDataConUnique 24 + +leftDataConKey = mkPreludeDataConUnique 25 +rightDataConKey = mkPreludeDataConUnique 26 \end{code} %************************************************************************ @@ -957,7 +982,7 @@ otherwiseIdKey = mkPreludeMiscIdUnique 51 assertIdKey = mkPreludeMiscIdUnique 53 runSTRepIdKey = mkPreludeMiscIdUnique 54 -dollarMainKey = mkPreludeMiscIdUnique 55 +rootMainKey = mkPreludeMiscIdUnique 55 runMainKey = mkPreludeMiscIdUnique 56 andIdKey = mkPreludeMiscIdUnique 57 @@ -1017,6 +1042,14 @@ returnMClassOpKey = mkPreludeMiscIdUnique 117 -- Recursive do notation mfixIdKey = mkPreludeMiscIdUnique 118 +-- Arrow notation +arrAIdKey = mkPreludeMiscIdUnique 119 +composeAIdKey = mkPreludeMiscIdUnique 120 -- >>> +firstAIdKey = mkPreludeMiscIdUnique 121 +appAIdKey = mkPreludeMiscIdUnique 122 +choiceAIdKey = mkPreludeMiscIdUnique 123 -- ||| +loopAIdKey = mkPreludeMiscIdUnique 124 + ---------------- Template Haskell ------------------- -- USES IdUniques 200-299 -----------------------------------------------------