Это может быть очень простой вопрос.
Но в чем разница между типами и сортами?
Мое текущее понимание состоит в том, что у вас есть теория типов с правилами типов, которые дают представление о хорошо типизированном утверждении, но сорта являются более базовыми, дифференцируя символы на различные виды символов и вводя основные правила применения функций и т. Д.
Возможно, есть небольшая разница, может быть, они просто приходят из разных областей. Но я не могу найти четкое описание их отношения.
type-theory
Зелиг
источник
источник
kind
- это тип конструктора типа или, реже, тип оператора типа более высокого порядка.Ответы:
Насколько я понимаю, разница в том, что эти два понятия используются, чтобы придать немного различный акцент, но в конечном итоге они являются чем-то одним и тем же. Поскольку ни одно из них не имеет формального определения, мы не можем ожидать точного ответа, не ограничив сначала область видения определенным типом «тип» и «сортировка».
«Сортировка» используется, когда мы хотим сказать, что есть несколько разных, ну, в общем, видов вещей, которые мы должны различать. Примером может служить теория геометрии с видами «точка» и «линия».
«Тип» используется, когда требуется не только различать разные виды вещей, но и должное внимание уделяется структуре самих видов / типов. Таким образом, обычно мы можем формировать новые типы из старых (продукты, суммы, типы функций), у нас могут быть интересные отношения между типами (равенство типов, подтипирование) и т. Д. Напротив, обычно вначале указываются только некоторые виды, и тогда никогда не обращаешь особого внимания на структуру класса всех видов.
По крайней мере, это то, как я воспринимаю разницу, у других людей может быть другой опыт.
источник
Как говорит Андрей, ни один из терминов не является полностью формальным и не говорит о примерно одинаковых вещах, поэтому на самом деле нет четкой разделительной линии.
Что касается меня, я думаю, что слово «сортировка» происходит из теории моделей (как в многосортной логике первого порядка), и поэтому я использую слово «сортировка», чтобы предположить, что существует теоретико-множественная интерпретация множеств и жители. Идея состоит в том, что если является термином, а является родом, то существуют такие интерпретации, что подразумевает .σ t : σ [t σ t:σ [[t]]∈[[σ]]
Я не делаю этого предложения при использовании слова «тип». Существует множество теорий типов, которые не имеют простых теоретико-множественных интерпретаций, и многие из них весьма актуальны для программирования. Таким образом, если является выражением, а является типом, то суждение не обязательно предполагает какое-либо чтение в стиле членства.τ e : τe τ e:τ
источник