[project @ 1996-06-05 06:44:31 by partain]
[ghc-hetmet.git] / ghc / compiler / simplCore / SATMonad.lhs
index b61deb3..029d856 100644 (file)
@@ -14,7 +14,7 @@
 
 module SATMonad where
 
-import Ubiq{-uitous-}
+IMP_Ubiq(){-uitous-}
 import Util            ( panic )
 
 junk_from_SATMonad = panic "SATMonad.junk"
@@ -31,7 +31,7 @@ module SATMonad (
     ) where
 
 import Type            ( mkTyVarTy, mkSigmaTy, TyVarTemplate,
-                         splitSigmaTy, splitTyArgs,
+                         splitSigmaTy, splitFunTy,
                          glueTyArgs, instantiateTy, TauType(..),
                          Class, ThetaType(..), SigmaType(..),
                          InstTyEnv(..)
@@ -141,7 +141,7 @@ newSATName id ty us env
   = 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
@@ -216,8 +216,8 @@ saTransform binder rhs
            -- 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
@@ -240,7 +240,7 @@ saTransform binder rhs
       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