[project @ 1996-01-11 14:06:51 by partain]
[ghc-hetmet.git] / ghc / compiler / coreSyn / CoreLift.hi
1 {-# GHC_PRAGMA INTERFACE VERSION 5 #-}
2 interface CoreLift where
3 import BasicLit(BasicLit)
4 import CoreSyn(CoreAtom, CoreBinding, CoreCaseAlternatives, CoreExpr)
5 import CostCentre(CostCentre)
6 import Id(Id)
7 import PlainCore(PlainCoreBinding(..), PlainCoreExpr(..))
8 import PrimOps(PrimOp)
9 import SplitUniq(SplitUniqSupply)
10 import TyVar(TyVar)
11 import UniType(UniType)
12 import Unique(Unique)
13 data CoreBinding a b 
14 data CoreExpr a b 
15 data Id 
16 type PlainCoreBinding = CoreBinding Id Id
17 type PlainCoreExpr = CoreExpr Id Id
18 data SplitUniqSupply 
19 data Unique 
20 applyBindUnlifts :: [CoreExpr Id Id -> CoreExpr Id Id] -> CoreExpr Id Id -> CoreExpr Id Id
21 bindUnlift :: Id -> Id -> CoreExpr Id Id -> CoreExpr Id Id
22 liftCoreBindings :: SplitUniqSupply -> [CoreBinding Id Id] -> [CoreBinding Id Id]
23 liftExpr :: Id -> CoreExpr Id Id -> CoreExpr Id Id
24 mkLiftedId :: Id -> Unique -> (Id, Id)
25