The Death of Finalizers

Ross Paterson ross at soi.city.ac.uk
Tue Oct 22 07:29:58 EDT 2002


On Tue, Oct 22, 2002 at 10:37:17AM +0100, Simon Marlow wrote:
> > | In the meantime, I'm glad we have got a new function
> > |    atomicModifyIORef
> > | which I for one will use, when it gets into GHC's regular release.
> > 
> > Just before this gets out of the door... any chance of calling it
> > 
> > 	modifyIORef
> > 
> > and documenting that it's atomic?  Sometimes names can get too long!
> > 
> > Not a big deal though.
> 
> It has a different type:
> 
>   atomicModifyIORef :: IORef a -> (a -> (a,b)) -> IO b
>   modifyIORef :: IORef a -> (a -> a) -> IO ()

It would break backwards compatability, but

	modifyIORef_ :: IORef a -> (a -> IO a) -> IO ()
	modifyIORef :: IORef a -> (a -> IO (a, b)) -> IO b

(both specified atomic) would be consistent with the MVar names.



More information about the FFI mailing list