1 {-# GHC_PRAGMA INTERFACE VERSION 5 #-}
2 interface SimplCore where
4 import BasicLit(BasicLit)
5 import BinderInfo(BinderInfo)
6 import CmdLineOpts(CoreToDo, GlobalSwitch, SwitchResult)
7 import CoreSyn(CoreAtom, CoreBinding, CoreExpr)
8 import FiniteMap(FiniteMap)
10 import IdEnv(IdEnv(..))
11 import MagicUFs(MagicUnfoldingFun)
13 import PreludePS(_PackedString)
14 import Pretty(PprStyle)
15 import SimplEnv(FormSummary, UnfoldingDetails, UnfoldingGuidance)
16 import Specialise(SpecialiseData(..))
17 import SplitUniq(SplitUniqSupply)
19 import UniType(UniType)
23 type IdEnv a = UniqFM a
25 data SpecialiseData = SpecData Bool Bool [TyCon] [TyCon] (FiniteMap TyCon [[Labda UniType]]) (Bag (Id, [Labda UniType])) (Bag (Id, [Labda UniType])) (Bag (TyCon, [Labda UniType]))
28 core2core :: [CoreToDo] -> (GlobalSwitch -> SwitchResult) -> _PackedString -> PprStyle -> SplitUniqSupply -> [TyCon] -> FiniteMap TyCon [[Labda UniType]] -> [CoreBinding Id Id] -> _State _RealWorld -> (([CoreBinding Id Id], UniqFM UnfoldingDetails, SpecialiseData), _State _RealWorld)