Eureka,
I claim to have written an implementation which agrees with all the semantics
that Simon Peyton-Jones wants for onCommit/onRetry/retryWith. See below:
Simon Peyton-Jones wrote:
| In many useful cases, such as the getLine example, the Y action will have
its
| own atomic {} block. In
| In many useful cases, such as the getLine example, the Y action will have its
| own atomic {} block. In which case the semantics of when it is allowed to
| re-attempt X are what is important. If you require (Y) to complete before
| re-attempting (X) then you get an infinite regression where
Lemmih wrote:
On 11/24/06, Tomasz Zielonka [EMAIL PROTECTED] wrote:
Does anybody know how to watch this on Linux? I would prefer to simply
download the movie file and use MPlayer on that, but I failed.
.. or on Mac OS X (haven't tried yet)
Worked for me with mplayer+w32codecs.
Won't work
Hi,
After seeing how close I could come to creating onRetry/retryWith I have a
question about the semantics of your idea for retryWith.
Normally after a retry the STM block is rolled back and put to sleep and
will
only be awakened and re-executed if one of the STM variables it had read
Here I restate what you obviously know several times, then take a shot at
answering your final question.
Tim Harris (RESEARCH) wrote:
Hi,
After seeing how close I could come to creating onRetry/retryWith I have a
question about the semantics of your idea for retryWith.
Normally after a
| Normally after a retry the STM block is rolled back and put to sleep and will
| only be awakened and re-executed if one of the STM variables it had read from
is
| committed to by a different STM block.
The *semantics* are that it is retried anytime in the future. The *pragmatics*
are as you
I would just love to have some Haskell video casts. That would be awesome!
Cheers,
Johan
On 11/23/06, Bayley, Alistair wrote:
http://channel9.msdn.com/Showpost.aspx?postid=231495
The links to the video are a couple of yellow buttons at the bottom of
the article: Watch or Download.
I haven't
On Thu, Nov 23, 2006 at 12:56:00PM -, Bayley, Alistair wrote:
http://channel9.msdn.com/Showpost.aspx?postid=231495
The links to the video are a couple of yellow buttons at the bottom of
the article: Watch or Download.
I haven't watched this yet (it's nearly an hour long, I think).
On 11/24/06, Tomasz Zielonka [EMAIL PROTECTED] wrote:
On Thu, Nov 23, 2006 at 12:56:00PM -, Bayley, Alistair wrote:
http://channel9.msdn.com/Showpost.aspx?postid=231495
The links to the video are a couple of yellow buttons at the bottom of
the article: Watch or Download.
I haven't
On Fri, Nov 24, 2006 at 10:31:27AM +0100, Lemmih wrote:
Worked for me with mplayer+w32codecs.
Oops! I missed the Download link and tried to download through
Watch ;-) Thanks!
Best regards
Tomasz
___
Haskell mailing list
Haskell@haskell.org
On Fri, Nov 24, 2006 at 10:26:38AM +0100, Tomasz Zielonka wrote:
Does anybody know how to watch this on Linux? I would prefer to simply
download the movie file and use MPlayer on that, but I failed.
. or on Mac OS X (haven't tried yet)
The latest mplayer works for me on FreeBSD/amd64
Hi,
I got this working on Mac OS X. I had to download media player 9:
http://www.microsoft.com/windows/windowsmedia/software/Macintosh/osx/default.aspx
This contains the WMV3 codec.
Cheers,
Chris.
On Fri, 24 Nov 2006, James William Pye wrote:
On Fri, Nov 24, 2006 at 10:26:38AM +0100,
| The basic idea is to provide a way for a transaction to call into
transaction-aware libraries. The libraries
| can register callbacks for if the transaction commits (to actually do any
O) and for if the transaction
| aborts (to re-buffer any I that the transaction has consumed). In
On Fri, Nov 24, 2006 at 08:22:36AM +, Simon Peyton-Jones wrote:
I have also toyed with adding
retryWith :: IO a - STM ()
The idea here is that the transction is undone (i.e. just like the 'retry'
combinator), then the specified action is performed, and then the transaction
On Fri, Nov 24, 2006 at 10:02:59AM +0100, Tomasz Zielonka wrote:
That's where retryWith would help. Right now I am using something named
autonomous transactions:
autonomously :: Bool - STM a - STM ()
This basically forks a new thread to perform the given transaction
outside of the
this thread reminds me about something that I wanted to ask you.
if I recall correctly, most of the literature references in STM papers
are recent, so I wondered whether you are aware of this one:
NAMING AND SYNCHRONIZATION IN A
DECENTRALIZED COMPUTER SYSTEM
SourceTechnical Report:
I posted an improved version of the new monad to the wiki at
http://haskell.org/haskellwiki/New_monads/MonadAdvSTM
Observations:
** This idiom made it easy for the retrying case to queue an action which
ensures success in the next attempt.
** More than one operation can be queued for both the
Simon Peyton-Jones wrote:
I have also toyed with adding
retryWith :: IO a - STM ()
The idea here is that the transction is undone (i.e. just like the 'retry'
combinator), then the specified action is performed, and then the transaction is
retried. Again no atomicity guarantee. If
On 23/11/06, Jason Dagit [EMAIL PROTECTED] wrote:
A comment on that video said:
- BEGIN QUOTE
It seems to me that STM creates new problems with composability.
You create two classes of code: atomic methods and non atomic methods.
Nonatomic methods can easily call atomic ones – the
[sorry for quoting so much, kinda hard to decide here where to snip]
Cale Gibbard wrote:
On 23/11/06, Jason Dagit [EMAIL PROTECTED] wrote:
A comment on that video said:
- BEGIN QUOTE
It seems to me that STM creates new problems with composability.
You create two classes of code:
,
Tim
-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Benjamin Franksen
Sent: 24 November 2006 03:16
To: haskell@haskell.org
Cc: haskell-cafe@haskell.org
Subject: [Haskell] Re: [Haskell-cafe] SimonPJ and Tim Harris explain STM - video
[sorry for quoting so
Hi,
On 23/11/06, Benjamin Franksen [EMAIL PROTECTED] wrote:
One answer is in fact to make it so that Console.Write can be rolled back
too. To achieve this one can factor the actual output to another task and
inside the transaction merely send the message to a transactional channel
(TChan):
22 matches
Mail list logo