X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2Fprelude%2FPrelInfo.lhs;h=867e79d99acec2f61635cd8a0c089a95ecbf4e4b;hp=1dcf2b8143f98e1b74306f4a07ccd8aad5f709c5;hb=914e415702a25a6e52ab1eaaf2aea233d6c6097e;hpb=17b297d97d327620ed6bfab942f8992b2446f1bf diff --git a/compiler/prelude/PrelInfo.lhs b/compiler/prelude/PrelInfo.lhs index 1dcf2b8..867e79d 100644 --- a/compiler/prelude/PrelInfo.lhs +++ b/compiler/prelude/PrelInfo.lhs @@ -4,34 +4,28 @@ \section[PrelInfo]{The @PrelInfo@ interface to the compiler's prelude knowledge} \begin{code} -{-# OPTIONS_GHC -w #-} --- The above warning supression flag is a temporary kludge. --- While working on this module you are encouraged to remove it and fix --- any warnings in the module. See --- http://hackage.haskell.org/trac/ghc/wiki/WorkingConventions#Warnings --- for details - module PrelInfo ( - module MkId, + wiredInIds, ghcPrimIds, + primOpRules, builtinRules, - ghcPrimExports, - wiredInThings, basicKnownKeyNames, - primOpId, - - -- Random other things - maybeCharLikeCon, maybeIntLikeCon, + ghcPrimExports, + wiredInThings, basicKnownKeyNames, + primOpId, + + -- Random other things + maybeCharLikeCon, maybeIntLikeCon, - -- Class categories - isNumericClass, isStandardClass + -- Class categories + isNumericClass, isStandardClass ) where #include "HsVersions.h" -import PrelNames ( basicKnownKeyNames, - hasKey, charDataConKey, intDataConKey, - numericClassKeys, standardClassKeys ) - +import PrelNames ( basicKnownKeyNames, + hasKey, charDataConKey, intDataConKey, + numericClassKeys, standardClassKeys ) +import PrelRules import PrimOp ( PrimOp, allThePrimOps, primOpOcc, primOpTag, maxPrimOpTag ) import DataCon ( DataCon ) import Id ( Id, idName ) @@ -45,7 +39,7 @@ import Type ( funTyCon ) import TyCon ( tyConName ) import Util ( isIn ) -import Array ( Array, array, (!) ) +import Data.Array \end{code} %************************************************************************ @@ -56,7 +50,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: @@ -160,5 +154,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}