2011-09-09 9 views
27

Scalaに深く入ると、私はタイプのクラスと命名しました。 クラスは型であり、型は がScalaのクラスであり、 "型"と "クラス"自体が抽象的な用語であるため、混乱していました。「タイプクラス」は「タイプクラス」と呼ばれるのはなぜですか?

は、いくつかの例を読んだ後、私は型クラスは 何ができるかを感じましたが、多分型クラスは、それが を持っていた理由を説明することであるものに精神的なフック (絵、概念)を取得する簡単なアプローチがありますそのように名付けられました。

答えて

27

ハスケルでは、Java/Scalaの意味ではクラスが存在しないため、この用語は自由に使用できました(「クラスのタイプ」という意味で、JohannesWeißは言う)。

これは公式のScalaのドキュメントでは使用されていませんが、Haskellからの人はScalaのHaskell型のクラスをエミュレートして名前を再利用できることがわかりました。

+0

ありがとうございました、今この[[scalaの型クラス命名規則への回答](http://stackoverflow.com/questions/7084090/naming-convention-for-typeclasses-in-scala/7084305#7084305)もっと感覚:-) – Lutz

+2

さらに、「種類のクラス」は、[この意味で]略語を使用しています(http://en.wikipedia.org/wiki/Class_(set_theory%29))。実際、GHCの 'UndecidableInstances'拡張は*適切な*クラスをエンコードすることを非常に可能にし、次にそれらをセットのように扱うように進めます。 –

18

タイプクラスによって定義された共通のセット操作を「有する」タイプのクラスを(一緒に)クラス化するためですか?

私はとても自然です。

関連する問題