[project @ 1998-12-02 13:17:09 by simonm]
[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
19         mkWeakPtr,              -- :: k -> IO () -> IO (Weak k)
20         mkWeakPair,             -- :: k -> v -> IO () -> IO (Weak (k,v))
21         addFinaliser,           -- :: key -> IO () -> IO ()
22         addForeignFinaliser     -- :: ForeignObj -> IO () -> IO ()
23    ) where
24
25 import PrelWeak
26 import Foreign
27 \end{code}