作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
据我了解,仿函数是两个类别之间的映射,例如来自 中的对象。到 中的对象在哪里 和 是类别。
在 Haskell 中有 哈斯克其中对象是 Haskell 类型,态射是 Haskell 函数。但是,Functor
类型类有函数fmap
这些类型之间的映射(因此是对象而不是类别本身):
fmap :: (a -> b) -> f a -> f b
f a
和
f b
都是
中的对象哈斯克 .这是否意味着
Functor
的每个实例在 Haskell 中是一个内仿函数,如果不是
Functor
真的代表一个仿函数吗?
最佳答案
Functor
的一个实例指定两件事:类型构造函数 F
实物* -> *
,即从 Hask 对象到 Hask 对象的映射,类型为 (a -> b) -> (F a -> F b)
的函数,即从 Hask 的箭头到 Hask 的箭头的映射,与对象映射 F
兼容.所以,是的,Functor
的所有实例是内仿函数。在 Hackage 上有几种概括,例如Control.Categorical.Functor .
关于haskell - Haskell 中的仿函数与范畴论中的仿函数有何关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14820139/
我是一名优秀的程序员,十分优秀!