{-# GHC_PRAGMA INTERFACE VERSION 5 #-} interface Specialise where import Bag(Bag) import CmdLineOpts(GlobalSwitch) import CoreSyn(CoreBinding) import FiniteMap(FiniteMap) import Id(Id) import Maybes(Labda) import SplitUniq(SplitUniqSupply) import TyCon(TyCon) import UniType(UniType) data Bag a data FiniteMap a b data SpecialiseData = SpecData Bool Bool [TyCon] [TyCon] (FiniteMap TyCon [(Bool, [Labda UniType])]) (Bag (Id, [Labda UniType])) (Bag (Id, [Labda UniType])) (Bag (TyCon, [Labda UniType])) initSpecData :: [TyCon] -> FiniteMap TyCon [(Bool, [Labda UniType])] -> SpecialiseData specProgram :: (GlobalSwitch -> Bool) -> SplitUniqSupply -> [CoreBinding Id Id] -> SpecialiseData -> ([CoreBinding Id Id], SpecialiseData)