[project @ 1996-01-11 14:06:51 by partain]
[ghc-hetmet.git] / ghc / compiler / simplCore / MagicUFs.hi
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)
6 import Id(Id)
7 import Maybes(Labda)
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)
14 import TyVar(TyVar)
15 import UniType(UniType)
16 data CoreArg a 
17 data CoreAtom a 
18 data CoreExpr a b 
19 data Id 
20 data Labda a 
21 data MagicUnfoldingFun 
22 type PlainCoreArg = CoreArg Id
23 type PlainCoreAtom = CoreAtom Id
24 type PlainCoreExpr = CoreExpr Id Id
25 data SimplEnv 
26 data SimplCount 
27 type SmplM a = SplitUniqSupply -> SimplCount -> (a, SimplCount)
28 data TickType 
29 data SplitUniqSupply 
30 data UniType 
31 applyMagicUnfoldingFun :: MagicUnfoldingFun -> SimplEnv -> [CoreArg Id] -> SplitUniqSupply -> SimplCount -> (Labda (CoreExpr Id Id), SimplCount)
32 mkMagicUnfoldingFun :: _PackedString -> MagicUnfoldingFun
33