X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fprelude%2FPrelInfo.lhs;h=dbeb6de00be4e6e0aa93edb108b32f289a85f1b4;hb=ecfe3ca0242abe90128375c1b6666f505b0acd52;hp=ea5a996e542147c2fe6f305f11409c474fc58a48;hpb=ef61cbbcbf819e7e5930b60de59fb5d550f66e83;p=ghc-hetmet.git diff --git a/compiler/prelude/PrelInfo.lhs b/compiler/prelude/PrelInfo.lhs index ea5a996..dbeb6de 100644 --- a/compiler/prelude/PrelInfo.lhs +++ b/compiler/prelude/PrelInfo.lhs @@ -28,7 +28,6 @@ import PrelNames ( basicKnownKeyNames, import PrimOp ( PrimOp, allThePrimOps, primOpOcc, primOpTag, maxPrimOpTag ) import DataCon ( DataCon ) import Id ( Id, idName ) -import MkId ( mkPrimOpId, wiredInIds ) import MkId -- All of it, for re-export import Name ( nameOccName ) import TysPrim ( primTyCons ) @@ -39,7 +38,7 @@ import Type ( funTyCon ) import TyCon ( tyConName ) import Util ( isIn ) -import Array ( Array, array, (!) ) +import Data.Array \end{code} %************************************************************************ @@ -50,7 +49,7 @@ import Array ( Array, array, (!) ) Notes about wired in things ~~~~~~~~~~~~~~~~~~~~~~~~~~~ -* Wired-in things are Ids/TyCons that are completely known to the compiler. +* Wired-in things are Ids\/TyCons that are completely known to the compiler. They are global values in GHC, (e.g. listTyCon :: TyCon). * A wired in Name contains the thing itself inside the Name: @@ -69,6 +68,9 @@ Notes about wired in things \begin{code} wiredInThings :: [TyThing] +-- This list is used only to initialise HscMain.knownKeyNames +-- to ensure that when you say "Prelude.map" in your source code, you +-- get a Name with the correct known key wiredInThings = concat [ -- Wired in TyCons and their implicit Ids @@ -151,5 +153,7 @@ isNumericClass, isStandardClass :: Class -> Bool isNumericClass clas = classKey clas `is_elem` numericClassKeys isStandardClass clas = classKey clas `is_elem` standardClassKeys + +is_elem :: Eq a => a -> [a] -> Bool is_elem = isIn "is_X_Class" \end{code}