ANNOUNCE: attribute 0.1
Derek Elkins
ddarius at hotpop.com
Thu Nov 13 16:29:49 EST 2003
On Thu, 13 Nov 2003 16:06:24 -0500
"Abraham Egnor" <aegnor at antioch-college.edu> wrote:
Sorry that I'm too lazy to download the the tar.bz2 and see for myself,
but...
> that applies those functions to a monadic reference. Instances for
> MRef are provided for both IORef and STRef.
Assuming MRef is like the below, did you include Lazy.ST too?
On a more general note, sticking something like MonadRef somewhere in
the heirarchical libs seems like it would be useful. Or perhaps Iavor's
monad library?
instance MonadRef IO IORef where
newRef = newIORef
readRef = readIORef
writeRef = writeIORef
instance MonadRef (Lazy.ST s) (STRef s) where
newRef = Lazy.strictToLazyST . newSTRef
readRef = Lazy.strictToLazyST . readSTRef
writeRef = (Lazy.strictToLazyST .) . writeSTRef
instance MonadRef (Strict.ST s) (STRef s) where
newRef = newSTRef
readRef = readSTRef
writeRef = writeSTRef
More information about the Haskell
mailing list