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