I'm familiar with Database transactions, and spent lots of timing tuning isolation levels. I have never implemented my own transactional model in code.
I've read through the source code for the Clojure transaction implementation - and am trying to understand the model behind it.
I'm reading through a description of a Software Transactional Memory in hardware implementation, and it prompted me to think there must be 'categories' of transactional model.
My question is: What category of Transactional Model does the Clojure STM fall into?