[project @ 1997-08-25 22:24:51 by sof]
[ghc-hetmet.git] / ghc / compiler / utils / Ubiq.lhi
index 0ffea8b..31109b9 100644 (file)
@@ -3,12 +3,12 @@ Things which are ubiquitous in the GHC compiler.
 \begin{code}
 interface Ubiq where
 
-import PreludePS(_PackedString)
+import FastString(FastString)
 
+import BasicTypes      ( Module(..), Arity(..) )
 import Bag             ( Bag )
 import BinderInfo      ( BinderInfo )
 import CgBindery       ( CgIdInfo )
-import CharSeq         ( CSeq )
 import CLabel          ( CLabel )
 import Class           ( GenClass, GenClassOp, Class(..), ClassOp )
 import ClosureInfo     ( ClosureInfo, LambdaFormInfo )
@@ -21,33 +21,31 @@ import CostCentre   ( CostCentre )
 import FieldLabel      ( FieldLabel )
 import FiniteMap       ( FiniteMap )
 import HeapOffs                ( HeapOffset )
-import HsCore          ( UnfoldingCoreExpr )
 import HsPat           ( OutPat )
 import HsPragmas       ( ClassOpPragmas, ClassPragmas, DataPragmas, GenPragmas, InstancePragmas )
 import Id              ( StrictnessMark, GenId, Id(..) )
-import IdInfo          ( IdInfo, OptIdInfo(..), ArityInfo, DeforestInfo, Demand, StrictnessInfo, UpdateInfo )
+import IdInfo          ( IdInfo, ArityInfo, DeforestInfo, StrictnessInfo, UpdateInfo )
+import Demand          ( Demand )
 import Kind            ( Kind )
 import Literal         ( Literal )
 import MachRegs                ( Reg )
 import Maybes          ( MaybeErr )
 import MatchEnv        ( MatchEnv )
-import Name            ( Module(..), OrigName, RdrName, Name, ExportFlag, NamedThing(..) )
-import Outputable      ( Outputable(..) )
-import PprStyle                ( PprStyle )
+import Name            ( OccName, Name, ExportFlag, NamedThing(..) )
+import Outputable      ( Outputable(..), PprStyle )
 import PragmaInfo      ( PragmaInfo )
-import Pretty          ( PrettyRep )
+import Pretty          ( Doc )
 import PrimOp          ( PrimOp )
 import PrimRep         ( PrimRep )
-import RnHsSyn         ( RnName )
 import SMRep           ( SMRep )
 import SrcLoc          ( SrcLoc )
 import TcType          ( TcMaybe )
-import TyCon           ( TyCon, Arity(..) )
+import TyCon           ( TyCon )
 import TyVar           ( GenTyVar, TyVar(..) )
 import Type            ( GenType, Type(..) )
-import UniqFM          ( UniqFM, Uniquable(..) )
+import UniqFM          ( UniqFM )
 import UniqSupply      ( UniqSupply )
-import Unique          ( Unique )
+import Unique          ( Unique, Uniquable(..) )
 import Usage           ( GenUsage, Usage(..) )
 import Util            ( Ord3(..) )
 
@@ -55,16 +53,13 @@ import Util         ( Ord3(..) )
 -- to try to contain their visibility.
 
 class NamedThing a where
-       getName :: a -> Name
-class OptIdInfo a where
-       noInfo  :: a
-       getInfo :: IdInfo -> a
-       addInfo :: IdInfo -> a -> IdInfo
-       ppInfo  :: PprStyle -> (Id -> Id) -> a -> Int -> Bool -> PrettyRep
+       getOccName :: a -> OccName
+       getName    :: a -> Name
+
 class Ord3 a where
        cmp :: a -> a -> Int#
 class Outputable a where
-       ppr :: PprStyle -> a -> Int -> Bool -> PrettyRep
+       ppr :: PprStyle -> a -> Doc
 class Uniquable a where
        uniqueOf :: a -> Unique
 
@@ -82,7 +77,6 @@ data ClassPragmas a
 data ClosureInfo
 data Coercion
 data CostCentre
-data CSeq
 data DataPragmas a
 data DeforestInfo
 data Demand
@@ -111,16 +105,14 @@ data Literal
 data MaybeErr a b
 data MatchEnv a b
 data Name
-data OrigName = OrigName _PackedString _PackedString
-data RdrName = Unqual _PackedString | Qual _PackedString _PackedString
+data OccName
 data Reg
 data OutPat a b c
 data PprStyle
 data PragmaInfo
-data PrettyRep
+data Doc
 data PrimOp
 data PrimRep   -- NB: an enumeration
-data RnName
 data SimplifierSwitch
 data SMRep
 data SrcLoc
@@ -129,7 +121,6 @@ data StrictnessMark
 data SwitchResult
 data TcMaybe s
 data TyCon
-data UnfoldingCoreExpr a
 data UniqFM a
 data UpdateInfo
 data UniqSupply
@@ -139,7 +130,7 @@ data Unique -- NB: fails the optimisation criterion
 
 -- don't get clever and unexpand some of these synonyms
 -- (GHC 0.26 will barf)
-type Module = _PackedString
+type Module = FastString
 type Arity = Int
 type Class = GenClass (GenTyVar (GenUsage Unique)) Unique
 type ClassOp = GenClassOp (GenType (GenTyVar (GenUsage Unique)) Unique)
@@ -150,19 +141,13 @@ type Usage = GenUsage Unique
 
 -- These are here only for SPECIALIZing in FiniteMap (ToDo:move?)
 instance Ord Reg
-instance Ord OrigName
-instance Ord RdrName
 instance Ord CLabel
 instance Ord TyCon
 instance Eq Reg
-instance Eq OrigName
-instance Eq RdrName
 instance Eq CLabel
 instance Eq TyCon
 -- specializing in UniqFM, UniqSet
 instance Uniquable Unique
-instance Uniquable RnName
 instance Uniquable Name
 -- specializing in Name
-instance NamedThing RnName
 \end{code}