Почему класс типов называется классом типов?

При более глубоком погружении в Scala я наткнулся на термин типовой класс. Это сбивало с толку, потому что класс — это тип, а тип может быть классом в Scala, а «тип» и «класс» сами по себе являются абстрактными терминами.

Прочитав несколько примеров, я понял, каким может быть класс типов, но, возможно, есть более простой способ понять, что такое класс типов, — объяснить, почему он был назван именно так.


person Lutz    schedule 09.09.2011    source источник
comment
Хотел бы я задать тот же вопрос, когда впервые столкнулся с ними. оба ответа ниже сделали бы мою жизнь проще   -  person Cpt. Senkfuss    schedule 26.01.2020


Ответы (2)


В Haskell нет классов в смысле Java/Scala, поэтому этот термин можно было использовать свободно (в смысле «класс типов», как говорит Йоханнес Вайс).

Он не используется в официальной документации Scala, но люди, пришедшие из Haskell, обнаружили, что могут эмулировать классы типов Haskell в Scala, и повторно использовали это имя.

person Alexey Romanov    schedule 09.09.2011
comment
Спасибо, теперь этот ответ на соглашение об именовании классов типов в scala имеет гораздо больше смысла :-) - person Lutz; 09.09.2011
comment
Кроме того, класс типов использует этот термин приблизительно в [в этом смысле](en.wikipedia .org/wiki/Class_(set_theory%29). На самом деле расширение UndecidableInstances GHC позволяет кодировать правильные классы, а затем приступать к, э-э, обработке их как наборов. - person C. A. McCann; 09.09.2011

Потому что это классы (вместе) типы, «имеющие» общий набор операций, определяемый классом типа?

Мне это кажется очень естественным.

person Johannes Weiss    schedule 09.09.2011