[project @ 2003-07-31 09:28:47 by ralf]
[ghc-base.git] / Foreign / C / TypesISO.hs
index f30c578..ab2c928 100644 (file)
@@ -14,7 +14,9 @@
 --
 -----------------------------------------------------------------------------
 
+-- #hide
 module Foreign.C.TypesISO
+#ifndef __NHC__
        ( -- Integral types, instances of: Eq, Ord, Num, Read, Show, Enum,
          -- Typeable, Storable, Bounded, Real, Integral, Bits
          CPtrdiff, CSize, CWchar, CSigAtomic
@@ -22,6 +24,12 @@ module Foreign.C.TypesISO
          -- Numeric types, instances of: Eq, Ord, Num, Read, Show, Enum,
          -- Typeable, Storable
        , CClock,   CTime
+#else
+       ( -- For nhc98, these are exported non-abstractly to work around
+         -- an interface-file problem.
+         CPtrdiff(..), CSize(..), CWchar(..), CSigAtomic(..)
+       , CClock(..),   CTime(..)
+#endif
 
           -- Instances of: Eq and Storable
        , CFile,        CFpos,     CJmpBuf
@@ -29,12 +37,12 @@ module Foreign.C.TypesISO
 
 #ifdef __NHC__
 import NHC.FFI
-  ( CPtrdiff
-  , CSize
-  , CWchar
-  , CSigAtomic
-  , CClock
-  , CTime
+  ( CPtrdiff(..)
+  , CSize(..)
+  , CWchar(..)
+  , CSigAtomic(..)
+  , CClock(..)
+  , CTime(..)
   , CFile
   , CFpos
   , CJmpBuf
@@ -44,7 +52,7 @@ import NHC.FFI
 import Data.Bits       ( Bits(..) )
 import Data.Int
 import Data.Word
-import Data.Dynamic
+import Data.Typeable
 import Foreign.Storable
 
 #ifdef __GLASGOW_HASKELL__
@@ -59,7 +67,7 @@ import Control.Monad
 import Foreign.Ptr
 #endif
 
-#include "Dynamic.h"
+#include "Typeable.h"
 #include "CTypes.h"
 
 INTEGRAL_TYPE(CPtrdiff,tyConCPtrdiff,"CPtrdiff",HTYPE_PTRDIFF_T)