据我了解,类型类不是具体的东西,而只是临时和参数多态性的构造。Eq和Semigroup是类型类的示例。另一方面,代数数据类型是一种具体的复合类型,例如Either和Maybe。他们也是函子。
因此,JavaScript 有一个代数数据类型规范: https: //github.com/fantasyland/fantasy-land。在本页中,Setoid (Eq)、Ord和Semigroup也是 ADT。但这是正确的吗?如果是这样,它们由什么类型组成?
我还找到了这篇关于类型类的文章,这里 Functor 和 Monad 是类型类。https://typelevel.org/cats/typeclasses.html#type-classes-in-cats。而且,这是否意味着Either和Maybe也是类型类?
Eq是类型类还是代数数据类型?或两者?函子也一样