Diferencia entre tipos y clasificaciones

11

Esta puede ser una pregunta muy simple.

Pero, ¿cuál es la diferencia entre tipos y géneros?

Mi comprensión actual es que usted tiene una teoría de tipo con reglas de tipo que dan una noción de una declaración bien tipada, pero las clases son más básicas, diferenciando símbolos en diferentes tipos de símbolos e introduciendo reglas básicas sobre la aplicación de funciones, etc.

Quizás haya poca diferencia, quizás solo vengan de diferentes campos. Pero parece que no puedo encontrar una descripción clara de su relación.

selig
fuente
1
El significado de los términos depende del contexto. ¿Puede dar ejemplos del uso de tipos y tipos por los que está preguntando ?:
Jeremy
1
Y luego hay tipos. Y clases.
lukstafi
@ Jeremy Las respuestas me han dado una imagen más clara de la relación. No tenía ningún ejemplo en el que no estaba claro qué estaba sucediendo en una situación particular, pero me preguntaba si había una importancia al elegir un término en particular. Gracias.
selig
1
De acuerdo con la entrada de Wikipedia sobre "Tipo" , a kindes el tipo de un constructor de tipos o, con menos frecuencia, el tipo de un operador de tipo de orden superior.
David Tonhofer

Respuestas:

15

La forma en que entiendo la diferencia es que los dos conceptos se usan para dar un énfasis ligeramente diferente, pero en última instancia son algo parecido. Como ninguno tiene una definición formal, no podemos esperar una respuesta exacta sin limitar primero el alcance a una comprensión particular de "tipo" y "tipo".

"Ordenar" se usa cuando queremos decir que hay varios tipos diferentes de cosas que debemos distinguir. Un ejemplo sería una teoría de la geometría con los tipos "punto" y "línea".

"Tipo" se usa cuando no solo es necesario distinguir diferentes tipos de cosas, sino que se presta la debida atención a la estructura de los tipos / tipos en sí. Por lo tanto, normalmente podemos formar nuevos tipos a partir de los antiguos (productos, sumas, tipos de funciones), podemos tener relaciones interesantes entre los tipos (igualdad de tipos, subtipo), etc. Por el contrario, uno solo especifica algunos tipos al principio, y entonces nunca presta mucha atención a la estructura de la clase de todo tipo.

Al menos así es como percibo la diferencia, otras personas pueden tener experiencias diferentes.

Andrej Bauer
fuente
9

Como dice Andrej, ninguno de los términos es completamente formal, y se habla de aproximadamente el mismo tipo de cosas, por lo que no hay realmente una línea divisoria clara.

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

eτe:τ

Neel Krishnaswami
fuente
Solo para aclarar: ¿el t entre corchetes y sigma significa "la interpretación de"? En cuyo caso, "implica" estaría mejor escrito como "significa eso"?
David Tonhofer
1
t:σtσ