Proposal: Add an atomic IORef replacement operation
Dr.Koster
drkoster at qq.com
Sun Jun 24 23:38:06 UTC 2018
+1, BTW. let's call it atomicSwapIORef to keep sync with MVar/TVar's counterpart.
发自我的iPhone
------------------ Original ------------------
From: David Feuer <david.feuer at gmail.com>
Date: Sat,Jun 23,2018 4:15 PM
To: Haskell Libraries <libraries at haskell.org>
Subject: Re: Proposal: Add an atomic IORef replacement operation
Currently, atomicWriteIORef is implemented using atomicModifyIORef. This is not ideal: the latter allocates memory while the former shouldn't need to. In the process of writing alternative implementations, I realized that we can efficiently support an atomic operation that replaces the value in an IORef, returning the previous value. I propose that we add, to Data.IORef, a function to do so:
atomicReplaceIORef :: IORef a -> a -> IO a
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/libraries/attachments/20180625/0ec2ba9b/attachment.html>
More information about the Libraries
mailing list