首页 > 解决方案 > 什么是常数函子?

问题描述

我试图从https://en.wikipedia.org/wiki/Functor网站了解Constant Functor并且无法进行视觉成像。

如果有人可以将其显示为 haskell 代码,Constant Functor是什么以及有什么好处,那也很好。

标签: haskellcategory-theory

解决方案


常数函子是一个函子,其目标函数是一个常数函数。在哈斯克尔:

newtype Const r a = Const { unConst :: r }

instance Functor (Const r) where
  fmap _ (Const r) = Const r

它将每个类型映射ar某种意义上,每个类型的函数映射a -> b到标识函数r

它适用于该const功能适用​​的类似事物!传递给高阶函数等。

一个有趣的用例是基于透镜的吸气剂的定义。


推荐阅读