be0c0251ff92493811091408e7163f872c5fff43
[ghc-hetmet.git] / ghc / lib / exts / Weak.lhs
1 %
2 % (c) The AQUA Project, Glasgow University, 1998
3 %
4
5 \section[Weak]{Module @PrelWeak@}
6
7 \begin{code}
8 {-# OPTIONS -fno-implicit-prelude #-}
9
10 module Weak (
11         Weak,                   -- abstract
12         -- instance Eq (Weak v)  
13
14         mkWeak,                 -- :: k -> v -> IO () -> IO (Weak v)
15         deRefWeak,              -- :: Weak v -> IO (Maybe v)
16         -- finalise             -- :: Weak v -> IO ()
17         -- replaceFinaliser     -- :: Weak v -> IO () -> IO ()
18         mkWeakNoFinaliser,      -- :: k -> v -> IO (Weak v)
19
20         mkWeakPtr,              -- :: k -> IO () -> IO (Weak k)
21         mkWeakPair,             -- :: k -> v -> IO () -> IO (Weak (k,v))
22         addFinaliser,           -- :: key -> IO () -> IO ()
23         addForeignFinaliser     -- :: ForeignObj -> IO () -> IO ()
24    ) where
25
26 import PrelWeak
27 import Foreign
28 \end{code}