6

阅读 Eff-Language 时,我想知道是否有类似的想法已经在使用。Eff-Language 提到了一篇名为“Inferring Algebraic Effects”的论文,它描述了 Eff 用来推断效果的算法。有相似之处吗?

4

1 回答 1

9

当我在 PureScript 中编写效果系统时,我就知道 Eff,因此您可能会说它受到了它的启发。另一个灵感来源是 Koka 编程语言,特别是论文“Koka: Programming with Row Polymorphic Effect Types”。鉴于 PureScript 已经有用于处理记录的行类型,尝试将其重新用作效果系统是有意义的。

PureScript 使用一个名为Eff(没有关系!)的效果单子来处理“原生”效果(即由运行时系统提供的效果,而不是您可能在 Haskell 中使用单子转换器建模的“用户空间”效果)。Eff很像 Haskell 的IO,但由一系列效果类型改进。所以 PureScript 中基于行的效果的路径非常简单——我们只需要允许行包含除*.

于 2015-05-02T17:58:10.487 回答