1 {-# GHC_PRAGMA INTERFACE VERSION 5 #-}
2 interface Specialise where
4 import CmdLineOpts(GlobalSwitch)
5 import CoreSyn(CoreBinding)
6 import FiniteMap(FiniteMap)
9 import SplitUniq(SplitUniqSupply)
11 import UniType(UniType)
14 data SpecialiseData = SpecData Bool Bool [TyCon] [TyCon] (FiniteMap TyCon [[Labda UniType]]) (Bag (Id, [Labda UniType])) (Bag (Id, [Labda UniType])) (Bag (TyCon, [Labda UniType]))
15 initSpecData :: [TyCon] -> FiniteMap TyCon [[Labda UniType]] -> SpecialiseData
16 specProgram :: (GlobalSwitch -> Bool) -> SplitUniqSupply -> [CoreBinding Id Id] -> SpecialiseData -> ([CoreBinding Id Id], SpecialiseData)