X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2Fprelude%2FPrelNames.lhs;h=d65c9f18c1adcc9589623afc8b6264beee0c681b;hb=d28ba8c800901bea01f70c4719278c2a364cf9fc;hp=01e98f7eb9ca729448873d6215321cf967d9f0a3;hpb=6cedde65ea072d74025da43ad8718acc28d599bb;p=ghc-hetmet.git diff --git a/ghc/compiler/prelude/PrelNames.lhs b/ghc/compiler/prelude/PrelNames.lhs index 01e98f7..d65c9f1 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) @@ -203,6 +201,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, @@ -215,6 +214,10 @@ basicKnownKeyNames -- Booleans andName, orName + + -- dotnet interop + , objectTyConName, marshalObjectName, unmarshalObjectName + , marshalStringName, unmarshalStringName, checkDotnetResName ] monadNames :: [Name] -- The monad ops need by a HsDo @@ -256,7 +259,9 @@ 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" gENERICS_Name = mkModuleName "Data.Generics" +dOTNET_Name = mkModuleName "GHC.Dotnet" rEAD_PREC_Name = mkModuleName "Text.ParserCombinators.ReadPrec" lEX_Name = mkModuleName "Text.Read.Lex" @@ -282,12 +287,12 @@ 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" +dOLLAR_MAIN_Name = mkModuleName "$Main" -- Root module for initialisation +dOLLAR_MAIN = mkHomeModule dOLLAR_MAIN_Name +iNTERACTIVE = mkHomeModule (mkModuleName "$Interactive") \end{code} %************************************************************************ @@ -376,6 +381,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 @@ -456,7 +462,7 @@ and it's convenient to write them all down in one place. \begin{code} -dollarMainName = varQual mAIN_Name FSLIT("$main") dollarMainKey +dollarMainName = varQual dOLLAR_MAIN_Name FSLIT("main") dollarMainKey runIOName = varQual pREL_TOP_HANDLER_Name FSLIT("runIO") runMainKey -- Stuff from GHC.Prim @@ -658,14 +664,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 @@ -673,7 +676,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 @@ -696,6 +698,15 @@ splitName = varQual gLA_EXTS_Name FSLIT("split") splitIdKey -- Recursive-do notation mfixName = varQual mONAD_FIX_Name FSLIT("mfix") mfixIdKey + +-- dotnet interop +objectTyConName = wTcQual dOTNET_Name FSLIT("Object") objectTyConKey +unmarshalObjectName = varQual dOTNET_Name FSLIT("unmarshalObject") unmarshalObjectIdKey +marshalObjectName = varQual dOTNET_Name FSLIT("marshalObject") marshalObjectIdKey +marshalStringName = varQual dOTNET_Name FSLIT("marshalString") marshalStringIdKey +unmarshalStringName = varQual dOTNET_Name FSLIT("unmarshalString") unmarshalStringIdKey +checkDotnetResName = varQual dOTNET_Name FSLIT("checkResult") checkDotnetResNameIdKey + \end{code} %************************************************************************ @@ -837,6 +848,9 @@ genUnitTyConKey = mkPreludeTyConUnique 81 -- Parallel array type constructor parrTyConKey = mkPreludeTyConUnique 82 +-- dotnet interop +objectTyConKey = mkPreludeTyConUnique 83 + ---------------- Template Haskell ------------------- -- USES TyConUniques 100-119 ----------------------------------------------------- @@ -851,7 +865,6 @@ unitTyConKey = mkTupleTyConUnique Boxed 0 %************************************************************************ \begin{code} -addrDataConKey = mkPreludeDataConUnique 0 charDataConKey = mkPreludeDataConUnique 1 consDataConKey = mkPreludeDataConUnique 2 doubleDataConKey = mkPreludeDataConUnique 3 @@ -862,13 +875,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 @@ -963,6 +973,14 @@ enumFromThenToPIdKey = mkPreludeMiscIdUnique 90 bpermutePIdKey = mkPreludeMiscIdUnique 91 bpermuteDftPIdKey = mkPreludeMiscIdUnique 92 indexOfPIdKey = mkPreludeMiscIdUnique 93 + +-- dotnet interop +unmarshalObjectIdKey = mkPreludeMiscIdUnique 94 +marshalObjectIdKey = mkPreludeMiscIdUnique 95 +marshalStringIdKey = mkPreludeMiscIdUnique 96 +unmarshalStringIdKey = mkPreludeMiscIdUnique 97 +checkDotnetResNameIdKey = mkPreludeMiscIdUnique 98 + \end{code} Certain class operations from Prelude classes. They get their own