On 28 September 2010 15:35, Tom Hawkins <[email protected]> wrote: > Has anyone in the STM community considered the ability to read a TVar, > such that it would allow the transaction to complete even if the TVar > was modified by another transaction?
Maybe something like this: (Pasted from http://www.haskell.org/ghc/docs/6.12.2/html/libraries/base-4.2.0.1/GHC-Conc.html#v%3AreadTVarIO ) readTVarIO :: TVar a -> IO a Return the current value stored in a TVar. This is equivalent to readTVarIO = atomically . readTVar but works much faster, because it doesn't perform a complete transaction, it just reads the current value of the TVar. Peter > (I am assuming this is not how > STM works by default.) For example: > > looselyReadTVar :: TVar a -> STM a > > Atom [1] has similar semantics to STM. If Atom were to relax it's > rule atomicity in this fashion, it could open the door to improved > task scheduling and higher levels of program description. Has STM > research already gone down this path? > > -Tom > > [1] http://hackage.haskell.org/package/atom > _______________________________________________ > Haskell-Cafe mailing list > [email protected] > http://www.haskell.org/mailman/listinfo/haskell-cafe > _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
