正如 Typeclassopedia 所证明的那样,当前从范畴论中引入的一堆类有点像是历史的一个错综复杂的偶然事件,而不是一个美丽的连贯整体。
特别是,这使得跟踪正在发生的事情变得相当困难。
如果不存在诸如向后兼容性、代码重复或易于处理的短类型签名之类的小问题,这些东西应该是什么样子?
对于标准类的一些子集,已经尝试给出修改后的层次结构。
数值类型类
特别是,它提供了一组更丰富的数学抽象。
除此之外,还有许多其他替代设计:
分类类型类
受类别启发的类的工作较少,例如 Functor、Monad、Monoid、Applicative,当然还有 Category。
最重要的工作是
关于“分类”类,还有The Other Prelude。那里概述的类层次结构已在Frege中实现。