5

我正在寻找单位函子/单子

data Unit a = Unit

我可以轻松地重新创建它,但我不想复制这种基本的东西。它曾经存在Control.Functor于 category-extras 包中(http://hackage.haskell.org/packages/archive/category-extras/0.1/doc/html/Control-Functor.html)。我无法在 Hoogle 中找到它,也无法在类别附加组件所在的地图中找到它(http://hackage.haskell.org/package/category-extras-1.0.2

似乎它应该存在于 transformers 包中,因为那是Control.Monad.Identity去的地方(现在是Data.Functor.Identity)。

我能想到的最接近的现有库代码是

type Unit a = Constant () a

Data.Functor.Constant从变压器包中使用。

4

1 回答 1

9

代理类型可能是您所追求的。

于 2013-09-24T00:19:33.567 回答