{-# GHC_PRAGMA INTERFACE VERSION 5 #-} interface SimplCore where import Bag(Bag) import BasicLit(BasicLit) import BinderInfo(BinderInfo) import CmdLineOpts(CoreToDo, GlobalSwitch, SwitchResult) import CoreSyn(CoreAtom, CoreBinding, CoreExpr) import FiniteMap(FiniteMap) import Id(Id) import IdEnv(IdEnv(..)) import MagicUFs(MagicUnfoldingFun) import Maybes(Labda) import PreludePS(_PackedString) import Pretty(PprStyle) import SimplEnv(FormSummary, UnfoldingDetails, UnfoldingGuidance) import Specialise(SpecialiseData(..)) import SplitUniq(SplitUniqSupply) import TyCon(TyCon) import UniType(UniType) import UniqFM(UniqFM) import Unique(Unique) data Bag a {-# GHC_PRAGMA EmptyBag | UnitBag a | TwoBags (Bag a) (Bag a) | ListOfBags [Bag a] #-} type IdEnv a = UniqFM a data UnfoldingDetails {-# GHC_PRAGMA NoUnfoldingDetails | LiteralForm BasicLit | OtherLiteralForm [BasicLit] | ConstructorForm Id [UniType] [CoreAtom Id] | OtherConstructorForm [Id] | GeneralForm Bool FormSummary (CoreExpr (Id, BinderInfo) Id) UnfoldingGuidance | MagicForm _PackedString MagicUnfoldingFun | IWantToBeINLINEd UnfoldingGuidance #-} data SpecialiseData = SpecData Bool Bool [TyCon] [TyCon] (FiniteMap TyCon [[Labda UniType]]) (Bag (Id, [Labda UniType])) (Bag (Id, [Labda UniType])) (Bag (TyCon, [Labda UniType])) data UniqFM a {-# GHC_PRAGMA EmptyUFM | LeafUFM Int# a | NodeUFM Int# Int# (UniqFM a) (UniqFM a) #-} data Unique {-# GHC_PRAGMA MkUnique Int# #-} 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) {-# GHC_PRAGMA _A_ 9 _U_ 222222222 _N_ _S_ "SLLLLLLLL" _N_ _N_ #-}