问题 哈斯克尔:TVar:orElse


是“其他”的一部分 orElse 由于另一个事务写入a而重试事务时调用 TVar 它已阅读,或仅在何时阅读 retry 明确地被称为?


8281
2018-04-11 06:35


起源



答案:


如果你有

orElse a b

然后 b 只有在运行时才会运行 retry 被明确地调用 a。除此以外 orElse 基本上会变得不确定。 (重新运行由STM运行时完成的事务是透明的,不应影响任何计算的结果。)


10
2018-04-11 07:28