4 ms·
At the user level, STM + imperative(/uncontrolled effects) is basically a known failure. A lot of effort has been spent on it, with people with similar levels o
by Locke1689 15y ago
At the user level, STM + imperative(/uncontrolled effects) is basically a known failure. A lot of effort has been spent on it, with people with similar levels of control over their VM (like the C# attempt)
Agreed. The only project that I know of that's even close to a "working" implementation of STM is Haskell and that's because Haskell doesn't have uncontrolled stateful code.
- swannodette 15y agoClojure is designed for the user level and offers some unique advantages over Haskell's STM [1]: * MVCC snapshot avoiding transactions restarts on read invalidation. * Ensure references on read-writes provides a kind of manual control over resource acquisition order. * Has explicit commute which reduces retries on commutative writes. [1] http://stackoverflow.com/questions/4560605/how-does-clojure-stm-differ-from-haskell-stm http://stackoverflow.com/questions/4560605/how-does-clojure-... EDIT: I didn't read the OP closely enough. Yes grafting fine-grained STM onto a imperative language hasn't born much fruit.
- william42 15y agoIsn't Clojure still mostly functional and mostly based on persistent data structures?
- calebmpeterson 15y agoYes very much so...and then some.