On Sun, Oct 30, 2011 at 6:20 PM, Ben Franksen <ben.franksen@online.de> wrote:
According to the original STM paper the implementation does an equality
test, albeit only for pointer equality.

It strikes me as bad form to depend on characteristics of `the implementation`.

 
An incremented integer would probably be ok, (no need to evaluate it,
since the closure is newly allocated, thus a new object)

Evaluation would be necessary to avoid a subtle space-leak with laziness semantics. The size of the closure is potentially linear with the number of allocations.

 
A little more on the safe side is a new TVar

That works too. 

Regards,

Dave