如何在OCaml中实现反向状态monad 转换器?
这是The reverse state monad in OCaml问题的后续问题:在理解了他或她使用的技巧(尤其是LazyUtils模块中的惰性表达式的模式匹配)之后,我能够自己重新发现@ Lambdageek的答案。然后我花了一天的剩余时间试图将其概括为逆状态变压器的情况。但我被卡住了,因为我找不到如何定义绑定。我可以模糊地想象的唯一解决方案是在参数中使用monad的mfix,但这本身就是problematic to define,因为它会导致由于OCaml中的严格语义而导致循环递归。