
Ben wrote:
while working on an STM-like library, i ran into the issue of trying to create a transaction log for reads / writes of heterogeneous reference types. i don't have a good answer to this problem. the problem is twofold : first, the general heterogeneous collection problem, and second, connecting a reference to its log.
I've had similar problems while implementing my reactive-banana library. The solution is described here http://apfelmus.nfshost.com/blog/2011/09/04-vault.html and also available as a cabal package http://hackage.haskell.org/package/vault Note that the Vault data type is probably not quite what you are looking for as it represents a whole collection of references. But have a look at the type Data.Vault.Locker in the vault-0.2 package which I have just uploaded to hackage. Oleg's email describes essentially the same solution. Best regards, Heinrich Apfelmus -- http://apfelmus.nfshost.com