我一直在阅读应用函子,我很难调和和这两个术语之间的不匹配。“类别范畴”有一个既包含源类别又包含目标类别的对象集合,以及包含以下内容的函子集合:源范畴的标识函子;目标范畴的身份函子;以及连接源类别与目标的函子(如果源范畴与目标范畴相同,而有关函子是标识,则只需有一个函子在函数式编程中,应用函子被描述为一对运算:
<*> : f ( a -> b) -> f a -> f b。这是
在Haskell中,函子类型函子的定义如下(例如,见哈斯克尔维基): fmap :: (a -> b) -> f a -> f b据我所知(如果我错了请纠正我),这样的函子只能有一个用类型构造函数(如[]、Maybe等)构造的范畴作为目标范畴。另一方面,人们可能认为函子的任何范畴都是函子的目标,例如所有类型的范畴。例如,Int可以是函子目标类别中的对象,而不仅仅是Maybe Int或[Int]