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



我有兴趣实现像Freer Monads这样的东西,PureScript中更多的可扩展效果,但使用行而不是开放联合(我想这是可能的(。

但是,如果没有foreign import,我无法定义一种类型。我希望能够执行以下操作:

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

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

Nathan Faubion有一个可扩展效果的实现,称为purescript-run,使用行多态性,变体和代理。

相关内容

最新更新