summaryrefslogtreecommitdiff
path: root/libraries/base/GHC/ForeignPtr.hs
diff options
context:
space:
mode:
authorIan Lynagh <igloo@earth.li>2008-08-06 12:13:13 +0000
committerIan Lynagh <igloo@earth.li>2008-08-06 12:13:13 +0000
commitb33380bd8d9d793592109f2455c1b648796717f5 (patch)
treea98e2d401881a31c2caa80f7eab0239501a070ab /libraries/base/GHC/ForeignPtr.hs
parentbc3938e68058b971df2554a11a41d8a81a6f939e (diff)
downloadhaskell-b33380bd8d9d793592109f2455c1b648796717f5.tar.gz
Swap imports around to get GHC.ForeignPtr out of the base knot
Diffstat (limited to 'libraries/base/GHC/ForeignPtr.hs')
-rw-r--r--libraries/base/GHC/ForeignPtr.hs5
1 files changed, 5 insertions, 0 deletions
diff --git a/libraries/base/GHC/ForeignPtr.hs b/libraries/base/GHC/ForeignPtr.hs
index 64f763a2c5..e043e09df8 100644
--- a/libraries/base/GHC/ForeignPtr.hs
+++ b/libraries/base/GHC/ForeignPtr.hs
@@ -35,6 +35,7 @@ module GHC.ForeignPtr
import Control.Monad ( sequence_ )
import Foreign.Storable
+import Data.Typeable
import GHC.Show
import GHC.List ( null )
@@ -44,6 +45,8 @@ import GHC.STRef ( STRef(..) )
import GHC.Ptr ( Ptr(..), FunPtr )
import GHC.Err
+#include "Typeable.h"
+
-- |The type 'ForeignPtr' represents references to objects that are
-- maintained in a foreign language, i.e., that are not part of the
-- data structures usually managed by the Haskell storage manager.
@@ -71,6 +74,8 @@ data ForeignPtr a = ForeignPtr Addr# ForeignPtrContents
-- object, because that ensures that whatever the finalizer is
-- attached to is kept alive.
+INSTANCE_TYPEABLE1(ForeignPtr,foreignPtrTc,"ForeignPtr")
+
data ForeignPtrContents
= PlainForeignPtr !(IORef [IO ()])
| MallocPtr (MutableByteArray# RealWorld) !(IORef [IO ()])