import Prelude
import Control.Monad.Fix
-import Data.Dynamic
+import Data.Typeable
#ifdef __HUGS__
import Hugs.ST
) where
-#ifndef __NHC__
-import Data.Dynamic
-#endif
-
import Data.Ix
#ifdef __GLASGOW_HASKELL__
#endif
#ifndef __NHC__
+import Data.Typeable
+#endif
+
+#ifndef __NHC__
#include "Typeable.h"
INSTANCE_TYPEABLE2(Array,arrayTc,"Array")
#endif
import Prelude
import Data.Ix ( Ix, range, index, rangeSize )
-import Data.Bits
import Data.Int
import Data.Word
import Foreign.Ptr
import Foreign.StablePtr
-import Foreign.Storable
#ifdef __GLASGOW_HASKELL__
import GHC.Arr ( STArray, unsafeIndex )
#endif
#ifdef __HUGS__
+import Data.Bits
+import Foreign.Storable
import qualified Hugs.Array as Arr
import qualified Hugs.ST as ArrST
import Hugs.Array ( unsafeIndex )
import Hugs.ByteArray
#endif
-import Data.Dynamic
+import Data.Typeable
#include "Typeable.h"
#include "MachDeps.h"
import Data.Array.MArray
import Data.Int
import Data.Word
-import Data.Dynamic
+import Data.Typeable
#ifdef __HUGS__
import Hugs.IOArray
import Prelude
import Data.Array.MArray
-import Data.Array.Base hiding (MArray(..))
+import Data.Array.Base ( STUArray, castSTUArray )
#ifdef __HUGS__
-import Hugs.ST
+import Hugs.ST ( STArray )
#endif
#ifdef __GLASGOW_HASKELL__
-import GHC.Arr
-import GHC.ST
+import GHC.Arr ( STArray )
#endif
import Prelude
#ifndef __NHC__
-import Data.Dynamic
+import Data.Typeable
#endif
#ifdef __HUGS__
import GHC.Show
import GHC.Err
import GHC.Num
-import GHC.Float
-import GHC.Real( rem )
-import GHC.IOBase
#endif
#ifdef __HUGS__
import Data.Array.Unboxed
import Data.Array.IO
-import Data.Dynamic
+import Data.Typeable
import Data.Char
import System.IO
import Hugs.ST
#endif
-import Data.Dynamic
+import Data.Typeable
#include "Typeable.h"
INSTANCE_TYPEABLE2(STRef,stRefTc,"STRef")
import Control.Monad.ST.Lazy
import qualified Data.STRef as ST
-import qualified Control.Monad.ST as ST
newSTRef :: a -> ST s (ST.STRef s a)
readSTRef :: ST.STRef s a -> ST s a
import Data.Maybe
#if __GLASGOW_HASKELL__
-import GHC.Storable
import GHC.IOBase
import GHC.Num
import GHC.Base
import Data.Bits ( Bits(..) )
import Data.Int ( Int8, Int16, Int32, Int64 )
import Data.Word ( Word8, Word16, Word32, Word64 )
-import Data.Dynamic
+import Data.Typeable
#ifdef __GLASGOW_HASKELL__
import GHC.Base
import Data.Bits ( Bits(..) )
import Data.Int
import Data.Word
-import Data.Dynamic
+import Data.Typeable
import Foreign.Storable
#ifdef __GLASGOW_HASKELL__
#if !defined(__NHC__) && !defined(__GLASGOW_HASKELL__)
import Foreign.Marshal.Alloc ( malloc, mallocBytes, finalizerFree )
-import Data.Dynamic
+import Data.Typeable
#include "Typeable.h"
INSTANCE_TYPEABLE1(ForeignPtr,foreignPtrTc,"ForeignPtr")
import Control.Monad
import Foreign.Ptr (Ptr, plusPtr)
import Foreign.Storable (Storable(sizeOf,peekElemOff,pokeElemOff))
-import Foreign.Marshal.Alloc (alloca, mallocBytes, allocaBytes, reallocBytes)
+import Foreign.Marshal.Alloc (mallocBytes, allocaBytes, reallocBytes)
import Foreign.Marshal.Utils (copyBytes, moveBytes)
#ifdef __GLASGOW_HASKELL__
) where
#ifdef __GLASGOW_HASKELL__
-import GHC.Base ( Int, Monad(..), (.), not, map )
+import GHC.Base ( Int, Monad(..), (.), not )
import GHC.Err ( undefined )
import GHC.Exception ( block, unblock, throw, catchException )
import GHC.IOBase ( IO, IORef, newIORef, readIORef, writeIORef, )
import Control.Monad ( sequence_ )
import Foreign.Ptr
import Foreign.Storable
-import Data.Dynamic
+import Data.Typeable
import GHC.List ( null )
import GHC.Base
import GHC.Real
import GHC.Float
import GHC.Show
-import GHC.Conc
import GHC.Err ( error, undefined )
#endif
import Prelude
-import Data.Dynamic
+import Data.Typeable
#ifdef __HUGS__
import Hugs.Stable
import Prelude
-import Data.Dynamic
+import Data.Typeable
#ifdef __HUGS__
import Hugs.Weak
import Foreign
import Foreign.C
-import Data.Dynamic
+import Data.Typeable
import Data.Bits
#ifdef __GLASGOW_HASKELL__
import Data.IORef
import Numeric ( readDec )
-#ifdef __GLASGOW_HASKELL__
-import GHC.IOBase ( stToIO )
-#endif
-
-- The standard nhc98 implementation of Time.ClockTime does not match
-- the extended one expected in this module, so we lash-up a quick
-- replacement here.