On Sun, Feb 13, 2005 at 09:28:18PM +0100, Tomasz Zielonka wrote: > On Sun, Feb 13, 2005 at 08:06:36PM +0100, Remi Turk wrote: > > You might be interested in the recent STM monad then > > (Control.Concurrent.STM in GHC-6.4): `T' for Transactional. > > However, though it supports both MonadPlus and exceptions, it > > doesn't use MonadPlus for exceptions: It's used for > > blocking/retrying a thread/transaction. > > And for non-deterministic choice. > > BTW, I have an implementation of STM based entirely on old concurrency > primitives, which means that it will work in older GHC and probably in > other Haskell compilers. I am going to put it on my web site, when I get > one. > > Best regards > Tomasz
Cool :) Is it actually race/deadlock/othergeneralnastiness-free? (as the paper claims that e.g. mergeIO :: [IO a] -> IO a is unimplementable in anything built on mutexes and condition variables.) -- Nobody can be exactly like me. Even I have trouble doing it. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe