1 {-# GHC_PRAGMA INTERFACE VERSION 5 #-}
2 interface MagicUFs where
3 import BasicLit(BasicLit)
4 import CoreSyn(CoreArg, CoreAtom, CoreBinding, CoreCaseAlternatives, CoreExpr)
5 import CostCentre(CostCentre)
8 import PlainCore(PlainCoreArg(..), PlainCoreAtom(..), PlainCoreExpr(..))
9 import PreludePS(_PackedString)
10 import PrimOps(PrimOp)
11 import SimplEnv(SimplEnv)
12 import SimplMonad(SimplCount, SmplM(..), TickType)
13 import SplitUniq(SplitUniqSupply)
15 import UniType(UniType)
21 data MagicUnfoldingFun
22 type PlainCoreArg = CoreArg Id
23 type PlainCoreAtom = CoreAtom Id
24 type PlainCoreExpr = CoreExpr Id Id
27 type SmplM a = SplitUniqSupply -> SimplCount -> (a, SimplCount)
31 applyMagicUnfoldingFun :: MagicUnfoldingFun -> SimplEnv -> [CoreArg Id] -> SplitUniqSupply -> SimplCount -> (Labda (CoreExpr Id Id), SimplCount)
32 mkMagicUnfoldingFun :: _PackedString -> MagicUnfoldingFun