Safe Haskell | Safe-Inferred |
---|
Data.MRef.Types
Description
This module defines the "MRef" abstraction, which is a set of
type-classes for things that behave like MVar
s.
See the documentation there for more info.
This interface may be subject to future expansion. Presently, rather
than providing something like tryTakeMVar
,
instances for "ReadRef
sr m (Maybe
a)" are
provided, giving readReference
the same type
tryTakeMRef would have if it existed. There is currently nothing like
tryPutMVar
, though. Perhaps there should be.
Or, perhaps this is the sort of thing the weird (to me) signature of
atomicModifyIORef
is for, and an argument for a similar
signature for modifyStateRef
or the addition of
a new atomicModifyStateRef function.
I would like to resolve these questions in version 0.3 of this package.