如何在没有外部接口的情况下实现类似Eff的monad

时间:2018-06-14 12:06:26

标签: purescript

我有兴趣在PureScript中实现Freer Monads, more Extensible Effects之类的东西,但是使用行而不是开放联合(我想这是可能的)。

但是,如果没有foreign import我无法定义。我希望能够做到这样的事情:

kind X
data Y :: # X -> Type -> Type

data Z :: X

这是我可以做的事情,还是我应该寻找另一种方法?

1 个答案:

答案 0 :(得分:1)

Nathan Faubion使用行多态,变体和代理实现了可扩展效果,称为purescript-run