[project @ 2002-07-22 11:37:38 by ross]
authorross <unknown>
Mon, 22 Jul 2002 11:37:39 +0000 (11:37 +0000)
committerross <unknown>
Mon, 22 Jul 2002 11:37:39 +0000 (11:37 +0000)
Make Data.Array.{IArray,MArray,IO,ST} work with Hugs, splitting off
the IOArray part of Hugs.IOExts into Hugs.IOArray and (sadly) adding
Hugs.Array.Base, a cut-down version of Data.Array.Base.

Data/Array/IArray.hs
Data/Array/IO.hs
Data/Array/MArray.hs
Data/Array/ST.hs
Data/Dynamic.hs

index ec42d7d..73c65c1 100644 (file)
@@ -50,4 +50,8 @@ module Data.Array.IArray (
 import Prelude
 
 import Data.Ix
+#ifdef __HUGS__
+import Hugs.Array.Base
+#else
 import Data.Array.Base
+#endif
index b225e4b..9074a2a 100644 (file)
@@ -17,16 +17,20 @@ module Data.Array.IO (
    -- * @IO@ arrays with boxed elements
    IOArray,            -- instance of: Eq, Typeable
 
+#ifdef __GLASGOW_HASKELL__
    -- * @IO@ arrays with unboxed elements
    IOUArray,           -- instance of: Eq, Typeable
    castIOUArray,       -- :: IOUArray i a -> IO (IOUArray i b)
+#endif
 
    -- * Overloaded mutable array interface
    module Data.Array.MArray,
 
+#ifdef __GLASGOW_HASKELL__
    -- * Doing I\/O with @IOUArray@s
    hGetArray,          -- :: Handle -> IOUArray Int Word8 -> Int -> IO Int
    hPutArray,          -- :: Handle -> IOUArray Int Word8 -> Int -> IO ()
+#endif
  ) where
 
 import Prelude
@@ -37,13 +41,17 @@ import Data.Int
 import Data.Word
 import Data.Dynamic
 
-import Foreign.C
-import Foreign.Ptr             ( Ptr, FunPtr )
-import Foreign.StablePtr       ( StablePtr )
+#ifdef __HUGS__
+import Hugs.IOArray
+#endif
 
 #ifdef __GLASGOW_HASKELL__
 -- GHC only to the end of file
 
+import Foreign.C
+import Foreign.Ptr             ( Ptr, FunPtr )
+import Foreign.StablePtr       ( StablePtr )
+
 import Data.Array.Base
 import GHC.Arr         ( STArray, freezeSTArray, unsafeFreezeSTArray,
                           thawSTArray, unsafeThawSTArray )
index 2a31882..28a691e 100644 (file)
@@ -54,4 +54,8 @@ module Data.Array.MArray (
 import Prelude
 
 import Data.Ix
+#ifdef __HUGS__
+import Hugs.Array.Base
+#else
 import Data.Array.Base
+#endif
index 6c4b416..cd81d83 100644 (file)
@@ -17,9 +17,11 @@ module Data.Array.ST (
    -- * Boxed arrays
    STArray,            -- instance of: Eq, MArray
 
+#ifdef __GLASGOW_HASKELL__
    -- * Unboxed arrays
    STUArray,           -- instance of: Eq, MArray
    castSTUArray,       -- :: STUArray s i a -> ST s (STUArray s i b)
+#endif
 
    -- * Overloaded mutable array interface
    module Data.Array.MArray,
@@ -28,7 +30,11 @@ module Data.Array.ST (
 import Prelude
 
 import Data.Array.MArray
+#ifdef __HUGS__
+import Hugs.ST
+#else
 import Data.Array.Base hiding (MArray(..))
+#endif
 
 #ifdef __GLASGOW_HASKELL__
 import GHC.Arr
index 961355d..275e318 100644 (file)
@@ -80,6 +80,7 @@ import GHC.IOBase
 
 #ifdef __HUGS__
 import Hugs.IO
+import Hugs.IORef
 import Hugs.IOExts
 #endif