[Haskell-cafe] STM, orElse and timed read from a channel

Simon Peyton-Jones simonpj at microsoft.com
Mon Dec 5 04:19:05 EST 2005

Can you provide a small test case that demonstrates the crash?

I think it's pretty unlikely that we'll support nested atomically (via
unsafePerformIO) anytime soon.  UnsafePerformIO is, well, unsafe.

I think you are really asking for some way to create top-level
transactional variables?


| -----Original Message-----
| From: haskell-cafe-bounces at haskell.org
[mailto:haskell-cafe-bounces at haskell.org] On Behalf Of
| Tomasz Zielonka
| Sent: 04 December 2005 18:32
| To: Simon Marlow
| Cc: Haskell Cafe
| Subject: Re: [Haskell-cafe] STM, orElse and timed read from a channel
| On Sat, Dec 03, 2005 at 10:35:54PM +0100, Tomasz Zielonka wrote:
| > so I could export a waitUntil function with type
| >
| >     waitUntil :: Time -> STM ()
| >
| > but I tripped on something that was reported before, namely that STM
| > transactions can't be nested (as a result of unsafePerformIO or
| > unsafeInterleaveIO). Is there a plan to support such scenario?
| OK, it can be worked around by running the atomically block in a new
| transaction. But still it would be nice if the program didn't
| but cause an exception for example.
| Updated modules attached.
| Best regards
| Tomasz
| --
| I am searching for a programmer who is good at least in some of
| [Haskell, ML, C++, Linux, FreeBSD, math] for work in Warsaw, Poland

More information about the Haskell-Cafe mailing list