This seems pretty sensible to us. We'll try it.
Simon
| -----Original Message-----
| From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
| Sent: 08 April 2000 20:44
| To: [EMAIL PROTECTED]
| Subject: tryTakeMVar :: MVar a -> IO (Maybe a)
|
|
| Wouldn't be nice to have such function?
|
| I wanted to translate a thread example written in Ruby and realized
| that it's impossible to write that function using MVar primitives
| provided; and no module seems to provide an equivalent using
| another kind of concurrent variable. I had to simulate mutexes with
| MVar (Maybe [MVar ()]) instead of MVar (). I guess that this function
| should be possible to implement on plain MVars.
|
| The semantics is obvious: if the variable is empty, return Nothing,
| else take its value and return Just it.
|
| --
| __("< Marcin Kowalczyk * [EMAIL PROTECTED]
| http://qrczak.ids.net.pl/
| \__/ GCS/M d- s+:-- a23 C+++$ UL++>++++$ P+++
| L++>++++$ E-
| ^^ W++ N+++ o? K? w(---) O? M- V? PS--
| PE++ Y? PGP+ t
| QRCZAK 5? X- R tv-- b+>++ DI D- G+ e>++++ h!
| r--%>++ y-
|
|