欢迎!请参阅关于页面以了解更多关于它的工作原理的信息。
(在此处发起的请求)
一般思路是在事务内声明不变量,当提交时,如果不再满足不变量,事务将重试。因此,它既可以作为一种软保证,也可以指定“部分交换”的动作。因此,这将使refs更细粒度。
请见所附的快速原型文件。
用户代码将看起来像
`(invariant (@world :key))(commute world update-in [:key] val-transform-fn)`
`
这意味着只有当在事务中和提交点返回的值相同,commute才会发生。
评论者:importer
从http://www.assembla.com/spaces/clojure/tickets/213转换而来附件invariants.patch - https://www.assembla.com/spaces/clojure/documents/dd4kUS3MWr3QvMeJe5aVNr/download/dd4kUS3MWr3QvMeJe5aVNr