haskell - 什么是常数函子?
问题描述
我试图从https://en.wikipedia.org/wiki/Functor网站了解Constant Functor并且无法进行视觉成像。
如果有人可以将其显示为 haskell 代码,Constant Functor是什么以及有什么好处,那也很好。
解决方案
常数函子是一个函子,其目标函数是一个常数函数。在哈斯克尔:
newtype Const r a = Const { unConst :: r }
instance Functor (Const r) where
fmap _ (Const r) = Const r
它将每个类型映射a
到r
某种意义上,每个类型的函数映射a -> b
到标识函数r
它适用于该const
功能适用的类似事物!传递给高阶函数等。
一个有趣的用例是基于透镜的吸气剂的定义。
推荐阅读
- python - 大熊猫字符串数组中的引号 to_csv read_csv on jupyter
- java - 为什么 binarySearch 方法不返回正确的结果?
- nlp - 掩码语言模型处理,更深层次的解释
- javascript - 在鼠标指针悬停的 react-vis 图表中添加一条垂直线
- pouchdb - 在带有附件的 PouchDB 中查找
- python - pyqt5 创建新窗口
- autodesk-forge - 如何使用 Heroku Deployment Forge RCDB 解决 npm 错误?
- sql-server - JSON 文本格式不正确。在 SQL Server 2017 中的位置 1 处发现了意外的字符 '''
- oracle - Oracle 按空间相交分组?
- javascript - 在 AngularJS 中包含 Angular 5 应用程序作为 iFrame