跳至内容

Haskell/组合子

来自维基百科,一个开放世界中的开放书籍

让我们将单子与组合子比较一下。一个单子提供了一种使用返回将一个值放入容器中的方式。它不会让你访问存储在内部的一个或多个值。当然,实现单子的数据结构可能会提供对其内容的访问,但这被认为是一种奖励。从单子中提取值的通用接口不存在。我们已经看到了 IO 单子的示例,它以从不公开其内容为荣。另一方面,一个组合子提供从中提取单个值的方法。它不提供插入值的方法。所以如果你想把组合子想成一个容器,它总是预先填充了内容,并且它允许你窥视它。

华夏公益教科书