[CLJ-213] Invariants and the STM Created: 01/Dec/09 Updated: 26/Aug/13
The general idea is to declare invariants inside a transaction and, when at commit time an invariant doesn't hold anymore, the transaction retries.
See the attached file for quick prototype.
User code would looks like:
This means the commute will occur only if (@world :key) returns the same value in-transaction and at commit point.
|Comment by Assembla Importer [ 24/Aug/10 7:23 AM ]|
Converted from http://www.assembla.com/spaces/clojure/tickets/213