module SATMonad where
-import Ubiq{-uitous-}
+IMP_Ubiq(){-uitous-}
import Util ( panic )
junk_from_SATMonad = panic "SATMonad.junk"
) where
import Type ( mkTyVarTy, mkSigmaTy, TyVarTemplate,
- splitSigmaTy, splitTyArgs,
- glueTyArgs, instantiateTy, TauType(..),
- Class, ThetaType(..), SigmaType(..),
+ splitSigmaTy, splitFunTy,
+ glueTyArgs, instantiateTy, SYN_IE(TauType),
+ Class, SYN_IE(ThetaType), SYN_IE(SigmaType),
InstTyEnv(..)
)
import Id ( mkSysLocal, idType )
-import Maybes ( Maybe(..) )
import SrcLoc ( SrcLoc, mkUnknownSrcLoc )
import UniqSupply
import Util
where
-- get type info for the local function:
(tv_tmpl, dict_tys, tau_ty) = (splitSigmaTy . idType) binder
- (reg_arg_tys, res_type) = splitTyArgs tau_ty
+ (reg_arg_tys, res_type) = splitFunTy tau_ty
-- now, we drop the ones that are
-- static, that is, the ones we will not pass to the local function