Inspirado pelas extensas hierarquias presentes na teoria da complexidade, perguntei-me se essas hierarquias também estavam presentes nos sistemas de tipos. No entanto, os dois exemplos que encontrei até agora são mais como listas de verificação (com recursos ortogonais) do que hierarquias (com sistemas de tipos sucessivamente cada vez mais expressivos).
Os dois exemplos que encontrei são o cubo Lambda e o conceito de polimorfismo com classificação k . O primeiro é uma lista de verificação com três opções, o segundo é uma hierarquia real (apesar de que k-classificado para valores específicos de k é incomum, acredito). Todos os outros recursos do sistema de tipos que conheço são principalmente ortogonais.
Estou interessado nesses conceitos porque estou projetando minha própria linguagem e estou muito curioso em saber como ela se classifica entre os sistemas de tipos existentes no momento (meu sistema de tipos é um pouco não convencional, tanto quanto eu sei).
Percebo que o conceito de 'expressividade' pode ser um pouco vago, o que pode explicar por que os sistemas de tipos me parecem listas de verificação.