纯净在Haskell的Free monad中意味着什么?

时间:2014-05-28 06:52:34

标签: haskell free-monad

我尝试学习免费的monad。我找到了以下内容:

data Free f r = Free (f (Free f r)) | Pure r

Pure是什么意思?为什么我需要和Pure一起使用?

1 个答案:

答案 0 :(得分:2)

Pure对应于return操作 - 从概念上讲,它会向您的仿函数附加“注入”值的能力。 Free构造函数对应于“join”。

如果您想了解“需要”Pure的原因,请尝试将其删除并提供Monad实例,并查看您遇到的问题!