How does Clojure STM differ from Haskell STM?

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.

Leave a Comment