为什么"类型"称为"类型类"?

Lut*_*utz 27 haskell scala typeclass

当我深入Scala时,我会遇到术语类型.它一直令人困惑,因为类是一个类型,一个类型可能是Scala中的类,"类型"和"类"本身就是抽象术语.

在阅读了一些例子后,我感觉到类型类可能是什么,但也许有一种更容易的方法来通过解释为什么它被这样命名来获得类型类的心理钩子(图片,概念).

Ale*_*nov 27

在Haskell中没有Java/Scala意义上的类,所以这个术语可以自由使用(在类别的意义上,正如JohannesWeiß所说).

它没有在官方Scala文档中使用,但来自Haskell的人发现他们可以在Scala中模拟Haskell类型类并重用该名称.

  • 此外,"类型类别"在[这种意义上]粗略地使用了这个术语(http://en.wikipedia.org/wiki/Class_(set_theory%29).事实上,GHC的"UndecidableInstances"扩展使得它很有可能编码*适当的*类,然后继续,呃,像集一样对待它们. (2认同)

Joh*_*iss 18

因为它类(一起)类型"拥有"由类型类定义的公共集合操作?

这对我来说很自然.