Alex Rivera | Logout

How does Clojure STM differ from Haskell STM?

Asked 2010-12-30T06:47:28.513
32

I am trying to find the differences between what Clojure calls an STM and what is implemented in Haskell as STM. Taking the actual language semantic differences aside I am a little confused as Rich Hickey says in his speech that Clojure's implementation of STM is very different from anything else out there, but I don't understand the differences apart from the language choice.

Edit
Report

1 Answer

25

Clojure STM has 3 big unique features:

  1. Implements MVCC snapshot avoiding transactions restarts on read invalidation.
  2. Ensures references on read-writes provides a kind of manual control over resource acquisition order.
  3. Has explicit commute which reduces retries on commutative writes.
answered 2010-12-30T08:46:03.437

Your Answer