[project @ 2004-12-23 00:02:41 by ralf]
[ghc-base.git] / Foreign / ForeignPtr.hs
index 515c0d8..63e0b25 100644 (file)
@@ -33,6 +33,10 @@ module Foreign.ForeignPtr
 #endif
        , withForeignPtr
 
+#ifdef __GLASGOW_HASKELL__
+       , finalizeForeignPtr
+#endif
+
        -- ** Low-level operations
        , unsafeForeignPtrToPtr
        , touchForeignPtr
@@ -122,7 +126,7 @@ withForeignPtr :: ForeignPtr a -> (Ptr a -> IO b) -> IO b
 -- the action and use it after the action completes. All uses
 -- of the pointer should be inside the
 -- 'withForeignPtr' bracket.  The reason for
--- this unsafety is the same as for
+-- this unsafeness is the same as for
 -- 'unsafeForeignPtrToPtr' below: the finalizer
 -- may run earlier than expected, because the compiler can only
 -- track usage of the 'ForeignPtr' object, not
@@ -170,7 +174,7 @@ mallocForeignPtrBytes n = do
 mallocForeignPtrArray :: Storable a => Int -> IO (ForeignPtr a)
 mallocForeignPtrArray  = doMalloc undefined
   where
-    doMalloc            :: Storable a => a -> Int -> IO (ForeignPtr a)
+    doMalloc            :: Storable b => b -> Int -> IO (ForeignPtr b)
     doMalloc dummy size  = mallocForeignPtrBytes (size * sizeOf dummy)
 
 -- | This function is similar to 'Foreign.Marshal.Array.mallocArray0',