STM 和传出 IO

STM and outgoing IO

如果我在事务失败的 STM 中,并且我作为正常控制流的一部分重试(没有 STM 冲突等),我可能想向外部人员指示采取纠正措施的方式。

如果是纯'outgoing',那我的STM还是可以纯重玩的

如何从 STM 重试执行 传出 IO?

有没有人遇到过这个?这有多邪恶?

如果你确定执行的IO不会影响STM的不变量,你可以使用 unsafeIOToSTM。小心使用它,就像所有 unsafe 东西一样。

不过,我想知道您是否真的需要它。从问题中无法分辨。如果可以,你应该避免它。