Вдохновленный обширными иерархиями, присутствующими в теории сложности, я подумал, существуют ли такие иерархии и для систем типов. Однако два примера, которые я обнаружил до сих пор, больше похожи на контрольные списки (с ортогональными функциями), а не на иерархии (с последовательно растущими и более выразительными системами типов).
Два примера, которые я нашел, - это лямбда-куб и концепция полиморфизма с k-ранжированием . Первый - это контрольный список с тремя вариантами, второй - реальная иерархия (хотя я считаю, что ранжирование по k для конкретных значений k встречается редко). Все другие особенности системы типов, которые я знаю, в основном ортогональны.
Меня интересуют эти концепции, потому что я создаю свой собственный язык, и мне очень любопытно, как он относится к существующим в настоящее время системам типов (насколько я знаю, моя система типов несколько нетрадиционна).
Я понимаю, что понятие «выразительность» может быть немного расплывчатым, что может объяснить, почему системы типов кажутся мне контрольными списками.