W liście z pią, 25-06-2004, godz. 12:30 +0200, Daan Leijen napisał(a):
> It seems to me that returning the old value is always good > enough right? Here is an implementation of "atomicModifyIORef" > with the current type in terms of a function "proposedModifyIORef" with > type (2). > > atomicModifyIORef :: IORef a -> (a -> (a,b)) -> IO b > atomicModifyIORef ref f > = do old <- proposedModifyIORef ref (fst . f) > return (snd (f old)) It applies f twice, which may duplicate work. -- __("< Marcin Kowalczyk \__/ [EMAIL PROTECTED] ^^ http://qrnik.knm.org.pl/~qrczak/ _______________________________________________ FFI mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/ffi