众所周知,具有kind Type -> Type的类型构造函数(在系统F-omega中)只有在实现函数(a -> b) -> f a -> f b的情况下才是Functor。虽然这是一个无法无天的functor,但它也应该遵守functor规则(保留组成和身份)。因此,带有Type -> Type的类型构造函数并不总是函数式函数。但这只是关于类型类别中的协变内部函数器。还有逆变函子和更多种类的函子。
我的问题是:任何具有种类Type -> Type的类型构造函数/函数都是某种(类别论)合法函数(协变、逆变或其他类型)吗?
发布于 2021-03-23 20:19:30
是的,它始终是Haskell类型的离散类别(只有身份箭头的类别)之间的函数器。它为每个object a分配一个object f a。对于每个箭头(这只是单位函数) a -> a,我们自动地有一个箭头函数,即单位函数。这些定律是微不足道的,因为唯一正在进行的组合是由它们自己组成的身份箭头。
https://stackoverflow.com/questions/66761721
复制相似问题