【发布时间】:2015-09-28 21:50:13
【问题描述】:
关于 Idris 影响的论文 "Programming and reasoning with algebraic effects and dependent types" by Edwin C. Brady 包含(未引用的)声明:
尽管 [效果和 monad 转换器] 在功率上不相等 - monad 和 monad 转换器可以表达更多概念 - 捕获了许多常见的有效计算。
有哪些例子可以用 monad 转换器建模但不能用效果器建模?
【问题讨论】:
-
这是一个有用的问题,可以由更多人回答,而不仅仅是论文的作者。更强大的一个例子是允许重复效果。
-
我想知道这个问题的答案。当我可以在这里找到论文时,我不想联系论文的作者。
-
这是一个很好的问题,即使它提到了一些论文......
-
如果我从Andrej Bauer's blog 找到的论文中没记错的话,代数效应只是定界延续单子的程式化用途。所以单子至少和代数效应一样强大。 Eff language 的主页是从头开始使用代数效应而构建的,其中包含指向其中一些论文的链接。我不会将此作为答案发布,因为我自己并不真正了解细节。
-
@EduardoLeón 定界延续在 Bauer 和 Pretnar 2010 中给出,Programming with Algebraic Effects and Handlers (pdf);论文以问题结尾“最后,延续是非代数计算效应的典型例子,所以 eff 提供了一种灵活而干净的定界控制形式有点令人惊讶,特别是因为延续根本不在我们的设计中议程。那么我们可以从 eff 中学到什么关于有效环境中的控制操作员的信息?”
标签: functional-programming monads effects idris