[Haskell-cafe] What is MonadPlus good for?

Remi Turk rturk at science.uva.nl
Sun Feb 13 16:25:49 EST 2005


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.


More information about the Haskell-Cafe mailing list