纯脚本中的 Eff-monad 是否受到 www.eff-lang.org 的启发?

Is the Eff-monad in purescript inspired by www.eff-lang.org?

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

当我用 PureScript 编写效果系统时,我就知道了 Eff,所以你可以说它是受了它的启发。另一个灵感来源是 Koka 编程语言,尤其是论文 "Koka: Programming with Row Polymorphic Effect Types"。鉴于 PureScript 已经具有用于处理记录的行类型,尝试将其重新用作效果系统是有意义的。

PureScript 使用名为 Eff 的效果 monad(无关系!)来处理 "native" 效果(即运行时系统提供的效果,而不是像您可能的 "userland" 效果Haskell 中使用 monad 转换器的模型)。 Eff 很像 Haskell 的 IO,但由一行效果类型细化。因此,在 PureScript 中实现基于行的效果的途径非常简单——我们只需要允许行包含除 *.

以外的类型。