[project @ 1997-05-19 00:12:10 by sof]
[ghc-hetmet.git] / ghc / compiler / basicTypes / IdLoop.lhi
index eb21149..4d2fdf5 100644 (file)
@@ -9,7 +9,7 @@ import PreludeStdIO     ( Maybe )
 
 import BinderInfo      ( BinderInfo )
 import CoreSyn         ( CoreExpr(..), GenCoreExpr, GenCoreArg )
-import CoreUnfold      ( Unfolding(..), UnfoldingGuidance(..), 
+import CoreUnfold      ( Unfolding(..), UnfoldingGuidance(..), mkUnfolding,
                          SimpleUnfolding(..), FormSummary(..), noUnfolding  )
 import CoreUtils       ( unTagBinders )
 import Id              ( externallyVisibleId, isDataCon, isWorkerId, isWrapperId,
@@ -24,7 +24,7 @@ import CostCentre     ( CostCentre,
                          preludeDictsCostCentre, mkAllCafsCC,
                          mkAllDictsCC, mkUserCC
                        )
-import IdInfo          ( IdInfo )
+import IdInfo          ( IdInfo, DemandInfo )
 import SpecEnv         ( SpecEnv, nullSpecEnv, isNullSpecEnv )
 import Literal         ( Literal )
 import MagicUFs                ( mkMagicUnfoldingFun, MagicUnfoldingFun )
@@ -33,7 +33,8 @@ import Outputable     ( Outputable(..) )
 import PprEnv          ( NmbrEnv )
 import PprStyle                ( PprStyle )
 import PprType         ( pprParendGenType )
-import Pretty          ( PrettyRep )
+import PragmaInfo      ( PragmaInfo )
+import Pretty          ( Doc )
 import Type            ( GenType )
 import TyVar           ( GenTyVar )
 import UniqFM          ( UniqFM )
@@ -54,16 +55,10 @@ isNullSpecEnv :: SpecEnv -> Bool
 externallyVisibleId    :: Id       -> Bool
 isDataCon              :: GenId ty -> Bool
 isWorkerId             :: GenId ty -> Bool
-isWrapperId            :: Id       -> Bool
-unfoldingUnfriendlyId  :: Id       -> Bool
-getIdInfo              :: Id       -> IdInfo
-nullIdEnv              :: UniqFM a
-lookupIdEnv            :: UniqFM b -> GenId a -> Maybe b
-mAX_WORKER_ARGS                :: Int
 nmbrId                 :: Id -> NmbrEnv -> (NmbrEnv, Id)
-pprParendGenType       :: (Eq a, Outputable a, Eq b, Outputable b) => PprStyle -> GenType a b -> Int -> Bool -> PrettyRep
 mkMagicUnfoldingFun    :: Unique -> MagicUnfoldingFun
 
+
 type IdEnv a = UniqFM a
 type CoreExpr = GenCoreExpr (GenId (GenType (GenTyVar (GenUsage Unique)) Unique))
                            (GenId (GenType (GenTyVar (GenUsage Unique)) Unique))
@@ -78,6 +73,7 @@ instance Outputable (GenTyVar a)
 instance (Outputable a) => Outputable (GenId a)
 instance (Eq a, Outputable a, Eq b, Outputable b) => Outputable (GenType a b)
 
+data DemandInfo
 data SpecEnv
 data NmbrEnv
 data MagicUnfoldingFun
@@ -90,6 +86,7 @@ data FormSummary = VarForm | ValueForm | BottomForm | OtherForm
 
 data Unfolding
 noUnfolding :: Unfolding
+mkUnfolding :: PragmaInfo -> CoreExpr -> Unfolding
 
 -- data SimpleUnfolding = SimpleUnfolding FormSummary UnfoldingGuidance (GenCoreExpr (GenId (GenType (GenTyVar (GenUsage Unique)) Unique), BinderInfo) (GenId (GenType (GenTyVar (GenUsage Unique)) Unique)) (GenTyVar (GenUsage Unique)) Unique)