2011-09-09 24 views
27

Quando si immerge più in profondità in Scala, si preme il termine tipo classe. Era stato confuso perché una classe è un tipo e un tipo potrebbe essere una classe in Scala e "tipo" e "classe" sono in sé termini astratti.Perché una "classe tipo" chiamata "tipo classe"?

Dopo aver letto alcuni esempi Ho la sensazione ciò che una classe di tipo potrebbe essere, ma forse c'è un approccio più facile per ottenere un gancio mentale (foto, concetto) a quello che una classe tipo è spiegando il motivo per cui aveva stato nominato così.

risposta

27

In Haskell non ci sono classi in senso Java/Scala, quindi questo termine era libero di essere usato (nel senso di "classe di tipi", come dice Johannes Weiß).

Non è utilizzato nella documentazione ufficiale di Scala, ma le persone provenienti da Haskell hanno scoperto che potevano emulare classi di tipi Haskell in Scala e riutilizzato il nome.

+0

Grazie, ora questa [risposta a una convenzione di denominazione di una classe di tipo in scala] (http://stackoverflow.com/questions/7084090/naming-convention-for-typeclasses-in-scala/7084305#7084305) rende molto più senso :-) – Lutz

+2

Inoltre, "classe di tipi" sta usando il termine approssimativamente in [questo senso] (http://en.wikipedia.org/wiki/Class_ (set_theory% 29). In effetti, "UndecidableInstances" di GHC. l'estensione rende molto possibile codificare classi * appropriate * e quindi procedere a, er, trattarle come set. –

18

Perché le classi (insieme) digitano "con" una serie di operazioni comuni definite dalla classe del tipo?

Mi sembra molto naturale.

Problemi correlati