2009-08-09 15 views

Respuesta

11

Joe Wells mostraron que la inferencia de tipos es indecidible para el sistema de   F, que es el cálculo lambda polimórfica más básico, descubierto independientemente por Girard y Reynolds . Este es el resultado más importante que muestra los límites de la inferencia de tipo.

Aquí hay un problema importante que aún está abierto: ¿cuál es la mejor manera de integrar tipos de datos algebraicos generalizados en la inferencia de tipo Hindley-Milner? Cada año, Simon Peyton Jones presenta nuevas respuestas, que supuestamente es mejor que la respuesta del año anterior. No he leído la versión de marzo de 2009 y, por lo tanto, no puedo decir si creo que será definitiva.

+0

Entonces, ¿el algoritmo W cubre el mayor subconjunto posible del Sistema F que es decidible? –

+2

@ott: No soy un teórico de tipo con la cabeza puntiaguda, pero apostaría mi | símbolo de que el Sistema F tiene múltiples subconjuntos decidibles incomparables. Sin mencionar la posibilidad de extensiones (GADTs, restricciones de igualdad, tipos calificados). Es el pleno empleo para la multitud de cabeza puntiaguda :-) –

+0

@Norman Ramsey: Interesante. No sé si los teóricos del tipo son puntiagudos, pero los documentos que vi parecen estar muy lejos de la realidad y no sé si la teoría de tipos se volverá general y ampliamente aceptada; usted todavía tiene que aprender ML para incluso entender lo básico. –

5

Un sistema de tipo dependiente del valor (o en resumen, sistema de tipo dependiente) puede describir los tipos que dicen cosas como: "En tiempo de evaluación (tiempo de ejecución), el valor de esta variable siempre será igual al valor variable, que se calcula con un proceso de evaluación diferente ". La deducción automática de este tipo del código implica pruebas automáticas de teoremas. Si el conjunto de teoremas que puede expresar está restringido a aquellos demostrables automáticamente, eso no sería un problema, pero en el caso de los idiomas de tipo dependiente, generalmente este no es el caso.

Así que los sistemas de tipos dependientes no pueden tener una inferencia de tipo general (y completa).

Estoy seguro de que alguien puede dar una respuesta formal y completa moral ...

Cuestiones relacionadas