Diferença entre tipos e tipos


11

Esta pode ser uma pergunta muito simples.

Mas qual é a diferença entre tipos e tipos?

Meu entendimento atual é que você tem uma teoria de tipos com regras de tipos que dão uma noção de uma declaração bem digitada, mas as classificações são mais básicas, diferenciando símbolos em diferentes tipos de símbolos e introduzindo regras básicas na aplicação de funções etc.

Talvez haja pouca diferença, talvez eles venham de campos diferentes. Mas não consigo encontrar uma descrição clara de sua relação.


1
O significado dos termos depende do contexto. Você pode dar exemplos do uso de tipos e tipos que você está perguntando sobre ?:
Jeremy

1
E então existem tipos. E aulas.
10263 lukstafi

@ Jeremy As respostas me deram uma imagem mais clara da relação. Eu não tinha nenhum exemplo em que não estava claro o que estava acontecendo em uma situação específica, mas queria saber se havia algum significado na escolha de um termo específico. Obrigado.
selig

1
De acordo com a entrada da Wikipedia em "Kind" , a kindé o tipo de um construtor de tipos ou, menos comumente, o tipo de um operador de tipo de ordem superior.
David Tonhofer

Respostas:


15

A maneira como entendo a diferença é que os dois conceitos são usados ​​para dar uma ênfase um pouco diferente, mas, no final das contas, eles são a mesma coisa. Como nenhuma delas possui uma definição formal, não podemos esperar uma resposta exata sem primeiro limitar o escopo a um entendimento específico de "tipo" e "classificação".

"Sort" é usado quando queremos dizer que existem vários tipos diferentes de coisas que precisamos distinguir. Um exemplo seria uma teoria da geometria com os tipos "ponto" e "linha".

"Tipo" é usado quando não apenas existe a necessidade de distinguir tipos diferentes de coisas, mas é dada atenção adequada à estrutura dos tipos / tipos. Assim, tipicamente podemos formar novos tipos a partir dos antigos (produtos, somas, tipos de funções), podemos ter relações interessantes entre os tipos (igualdade de tipos, subtipagem), etc. então nunca presta muita atenção à estrutura da classe de todos os tipos.

Pelo menos é assim que percebo a diferença, outras pessoas podem ter experiências diferentes.


9

Como Andrej diz, nenhum dos termos é completamente formal e fala aproximadamente dos mesmos tipos de coisas, então não há realmente uma linha divisória clara.

tσt:σ[[t]][[σ]]

eτe:τ


Apenas para esclarecer: o colchete te sigma significa "a interpretação de"? Nesse caso, o "implica" seria melhor escrito como "significa que"?
David Tonhofer

1
t:σtσ
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.