"Monad变形金刚比效果更强大" - 例子?

geo*_*f_h 77 monads functional-programming effects idris

Edwin C. Brady撰写的关于Idris影响的"使用代数效应和依赖类型进行编程和推理"的论文包含(未引用的)声明:

尽管[效果和单子变换器]在功率上并不相同 - monad和monad变换器可以表达更多概念 - 但是捕获了许多常见的有效计算.

哪些例子可以通过monad变换器建模而不是效果?

Cha*_*art 10

延续可以使用CPS建模为monad,但它们不是代数效应,因为它们不能使用Lawvere理论建模.参见Martin Hyland和John Power,2007,The Universal Theoretic Understanding of Universal Algebra:Lawvere Theories and Monads(pdf),ENTCS 172:437-458.

  • @geoff_h 我说代数效应可以建模为分隔延续单子的使用,而不是说它们是等价的 - 很可能是这种情况,但我真的不知道。 (2认同)