haskell - Clojure STM 与 Haskell STM 有何不同?

标签 haskell clojure stm language-comparisons transactional-memory

我试图找出 Clojure 所称的 STM 与 Haskell 中实现的 STM 之间的区别。撇开实际的语言语义差异不谈,正如 Rich Hickey 在他的演讲中所说,Clojure 的 STM 实现与其他任何东西都非常不同,但我不理解除了语言选择之外的差异。

最佳答案

Clojure STM 有 3 大独特的功能:

  • 实现 MVCC 快照,避免在读取失效时重新启动事务。
  • 确保对读写的引用提供了一种对资源获取顺序的手动控制。
  • 具有显式通勤,可减少对可交换写入的重试。
  • 关于haskell - Clojure STM 与 Haskell STM 有何不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4560605/

    相关文章:

    dictionary - 如何在 clojure 中获取映射的嵌套键?

    Clojure 手指树和 flexvec

    clojure - 引用在 STM 事务中真的一致吗?

    Java STM : Questions on Multiverse STM

    haskell - 简单的 Liquidhaskell 示例未能达到预期的行为

    haskell - 为什么 cabal install 会重新安装 .cabal/lib 中已有的软件包

    haskell - 为什么 `mask_` 会中和 `timeout` ?

    security - 在 Haskell 中从 'Taint mode' 复制 'Fortify static checking tool'

    Clojure defprotocol 作为表达式问题的解决方案