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,
+ splitSigmaTy, splitFunTy,
glueTyArgs, instantiateTy, TauType(..),
Class, ThetaType(..), SigmaType(..),
InstTyEnv(..)
= case (getUnique us) of { unique ->
(mkSysLocal new_str unique ty mkUnknownSrcLoc, env) }
where
- new_str = getOccurrenceName id _APPEND_ SLIT("_sat")
+ new_str = panic "SATMonad.newSATName (ToDo)" -- getOccName id _APPEND_ SLIT("_sat")
getArgLists :: CoreExpr -> ([Arg Type],[Arg Id])
getArgLists expr
-- A better fix is to use binder directly but with the TopLevel
-- tag (or Exported tag) modified.
fake_binder = mkSysLocal
- (getOccurrenceName binder _APPEND_ SLIT("_fsat"))
- (getItsUnique binder)
+ (getOccName binder _APPEND_ SLIT("_fsat"))
+ (uniqueOf binder)
(idType binder)
mkUnknownSrcLoc
rec_body = mkValLam non_static_args
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