在现实世界的应用程序中,我注意到一种模式可以概括为:
纯脚本:
class Profunctor p <= Zero p where
pzero :: forall a b. p a b -- such that `forall f g. dimap f g pzero == pzero`
它似乎足够基本,可以在文献和图书馆中拥有自己的名字。 那么它的名字是什么? (
Zero
和pzero
是我编的。)
在文献和图书馆中,“零代函子”的抽象通常被称为“恒等函子”。这些是函子,是对象上的标识,这意味着它们将每个对象映射到自身,将每个箭头映射到自身。