Alastair Reid wrote:
Since we've talked about mutable state quite a lot, my suggestion would be that we write, in addition to the FFI specification, a Mutable State specification which documented newIORef, readIORef, writeIORef, atomicModifyIORef (and possibly, for reasons of efficiency, atomicModifyIORef_). I don't think it need be very long. It wouldn't have to be frozen right away; it would be good if some other working group could be formed to carry it further, so that for example it could also include mutable arrays.
It's already stable, well documented, etc. (and has been for something like 6 years now). We can reformat the Hugs-GHC library docs into Haskell Report style and give it the official Haskell committee seal of approval if it makes you feel any better
Good, then I suggest that's what we do (with the addition of atomicModifyIORef).
but the spec won't change at all in the process so it doesn't alter any of the questions currently on the table. Well, we can take it as settling the question of whether it is possible to do useful communication between finalizers and the rest of the Haskell world in a portable and useful way. It seems to me that the only remaining question we need to answer is whether Haskell finalizers can and should be implemented at all.