我见过很多人抱怨标准库中的某些类型类,比如"Monad应该要求Functor",甚至"Monad应该要求Applicative","Applicative应该要求Pointed","Num不应该要求Show"等等,所以,我有一些问题:
是否存在类型类依赖关系树具有社区感知的"缺陷"的方式的论证,或者这仅仅是历史上事情的结果?
这种变化有多大程度会破坏现有代码?
是否有基本类型类的替代实现(特别是箭头,monad,applicative等等)实现"正确"的类依赖关系?
haskell standard-library typeclass
haskell ×1
standard-library ×1
typeclass ×1