{-# GHC_PRAGMA INTERFACE VERSION 5 #-} interface StgSATMonad where import Class(Class) import Id(Id, IdDetails) import IdInfo(IdInfo) import SATMonad(Arg) import SplitUniq(SplitUniqSupply) import StgSyn(PlainStgExpr(..), StgBinding, StgExpr, StgRhs) import TyCon(TyCon) import TyVar(TyVar, TyVarTemplate) import UniType(UniType) import UniqFM(UniqFM) import Unique(Unique) data Id {-# GHC_PRAGMA Id Unique UniType IdInfo IdDetails #-} data SplitUniqSupply {-# GHC_PRAGMA MkSplitUniqSupply Int SplitUniqSupply SplitUniqSupply #-} type PlainStgExpr = StgExpr Id Id data UniType {-# GHC_PRAGMA UniTyVar TyVar | UniFun UniType UniType | UniData TyCon [UniType] | UniSyn TyCon [UniType] UniType | UniDict Class UniType | UniTyVarTemplate TyVarTemplate | UniForall TyVarTemplate UniType #-} getArgLists :: StgRhs Id Id -> ([Arg UniType], [Arg Id]) {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-} saTransform :: Id -> StgRhs Id Id -> SplitUniqSupply -> UniqFM ([Arg UniType], [Arg Id]) -> (StgBinding Id Id, UniqFM ([Arg UniType], [Arg Id])) {-# GHC_PRAGMA _A_ 4 _U_ 2212 _N_ _S_ "LLU(LLL)L" _N_ _N_ #-}