Fix scoped type variables for expression type signatures
[ghc-hetmet.git] / compiler / ghci / ByteCodeLink.lhs
index d294178..6bca06a 100644 (file)
@@ -20,9 +20,6 @@ import ByteCodeAsm    ( UnlinkedBCO(..), BCOPtr(..), sizeSS, ssElts )
 import ObjLink         ( lookupSymbol )
 
 import Name            ( Name,  nameModule, nameOccName )
-#ifdef DEBUG
-import Name             ( isExternalName )
-#endif
 import NameEnv
 import OccName         ( occNameFS )
 import PrimOp          ( PrimOp, primOpOcc )
@@ -31,6 +28,11 @@ import PackageConfig    ( mainPackageId, packageIdFS )
 import FastString      ( FastString(..), unpackFS, zEncodeFS )
 import Panic            ( GhcException(..) )
 
+#ifdef DEBUG
+import Name             ( isExternalName )
+import Outputable
+#endif
+
 -- Standard libraries
 import GHC.Word                ( Word(..) )
 
@@ -155,10 +157,8 @@ mkPtrsArray ie ce n_ptrs ptrs = do
 
 newtype IOArray i e = IOArray (STArray RealWorld i e)
 
-instance HasBounds IOArray where
-    bounds (IOArray marr) = bounds marr
-
 instance MArray IOArray e IO where
+    getBounds (IOArray marr) = stToIO $ getBounds marr
     newArray lu init = stToIO $ do
         marr <- newArray lu init; return (IOArray marr)
     newArray_ lu = stToIO $ do
@@ -272,7 +272,7 @@ nameToCLabel n suffix
 
 primopToCLabel :: PrimOp -> String{-suffix-} -> String
 primopToCLabel primop suffix
-   = let str = "GHCziPrimopWrappers_" ++ unpackFS (zEncodeFS (occNameFS (primOpOcc primop))) ++ '_':suffix
+   = let str = "base_GHCziPrimopWrappers_" ++ unpackFS (zEncodeFS (occNameFS (primOpOcc primop))) ++ '_':suffix
      in --trace ("primopToCLabel: " ++ str)
         str
 \end{code}