haskell - 什么 Haskell 包有单位仿函数/monad?

标签 haskell monads functor

我正在寻找单位仿函数/monad

data Unit a = Unit

我可以轻松地重新创建它,但我宁愿不复制这种基本的东西。它曾经住在Control.Functor在类别附加包 ( http://hackage.haskell.org/packages/archive/category-extras/0.1/doc/html/Control-Functor.html ) 中。我无法在 Hoogle 中找到它,也无法在类别附加组件所在位置的 map 中找到它 (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从变压器包。

最佳答案

Proxy类型可能是你所追求的。

关于haskell - 什么 Haskell 包有单位仿函数/monad?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18970952/

相关文章:

haskell - 解析器示例不适合我

c++ - 多映射中的 std::find_if 返回带有仿函数的错误

haskell - 在 yesod (haskell) 中,如何加载纯 html 格式的文件(不是 hamlet)作为小部件?

haskell - 约束的笛卡尔积

haskell - 一个环境如何恰好是一个部分应用函数,甚至是一个 hom 仿函数?

c - 带有两个反斜杠的行如何欺骗 C 预处理器?

Haskell - 在 Monad 中提取 Maybe

haskell - "MonadIO m"和 "MonadBaseControl IO m"之间有什么区别吗?

haskell - 更普遍背景下的自然转变

OCaml 签名仿函数