[project @ 1996-01-08 20:28:12 by partain]
[ghc-hetmet.git] / ghc / compiler / simplStg / StgSAT.hi
1 {-# GHC_PRAGMA INTERFACE VERSION 5 #-}
2 interface StgSAT where
3 import CostCentre(CostCentre)
4 import Id(Id, IdDetails)
5 import IdInfo(IdInfo)
6 import PrimOps(PrimOp)
7 import SplitUniq(SplitUniqSupply)
8 import StgSyn(PlainStgProgram(..), StgAtom, StgBinding, StgCaseAlternatives, StgExpr, StgRhs)
9 import UniType(UniType)
10 import UniqFM(UniqFM)
11 import Unique(Unique)
12 data Id         {-# GHC_PRAGMA Id Unique UniType IdInfo IdDetails #-}
13 type PlainStgProgram = [StgBinding Id Id]
14 data StgBinding a b     {-# GHC_PRAGMA StgNonRec a (StgRhs a b) | StgRec [(a, StgRhs a b)] #-}
15 data StgExpr a b        {-# GHC_PRAGMA StgApp (StgAtom b) [StgAtom b] (UniqFM b) | StgConApp Id [StgAtom b] (UniqFM b) | StgPrimApp PrimOp [StgAtom b] (UniqFM b) | StgCase (StgExpr a b) (UniqFM b) (UniqFM b) Unique (StgCaseAlternatives a b) | StgLet (StgBinding a b) (StgExpr a b) | StgLetNoEscape (UniqFM b) (UniqFM b) (StgBinding a b) (StgExpr a b) | StgSCC UniType CostCentre (StgExpr a b) #-}
16 doStaticArgs :: [StgBinding Id Id] -> SplitUniqSupply -> [StgBinding Id Id]
17         {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _S_ "S" _N_ _N_ #-}
18