packages feed

base-io-access-0.2.0.0: Access/System/Mem/Weak.hs

module Access.System.Mem.Weak
    ( module System.Mem.Weak

    , WeakMemAccess(..)
    ) where


import System.Mem.Weak

import Access.Core


class Access io => WeakMemAccess io where
    mkWeak'     :: k -> v -> Maybe (IO ()) -> io (Weak v)
    deRefWeak'  :: Weak v -> io (Maybe v)
    finalize'   :: Weak v -> io ()


instance WeakMemAccess IO where
    mkWeak'    = mkWeak
    deRefWeak' = deRefWeak
    finalize'  = finalize