【发布时间】:2013-09-24 00:14:29
【问题描述】:
我正在寻找单位函子/monad
data Unit a = Unit
我可以轻松地重新创建它,但我不想复制这种基本的东西。它曾经位于 category-extras 包 (http://hackage.haskell.org/packages/archive/category-extras/0.1/doc/html/Control-Functor.html) 中的 Control.Functor 中。我无法在 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。
【问题讨论】: