¿Es posible usar tipos dependientes en la implementación existente de Typed Racket ? (es decir, ¿existen en él?)
¿Es razonablemente posible implementar un sistema de tipos dependientes usando Typed Racket?
¿Es posible usar tipos dependientes en la implementación existente de Typed Racket ? (es decir, ¿existen en él?)
¿Es razonablemente posible implementar un sistema de tipos dependientes usando Typed Racket?
Respuestas:
Andrew Kent, de la Universidad de Indiana, está trabajando en Tipos dependientes en la raqueta.
Hay un conjunto de diapositivas . Hay una charla .
De interés, esto potencialmente también afecta a Typed Clojure , que está fuertemente modelado en Typed Racket.
Creo que "hacer tipos dependientes" usando contratos ya es posible. Compruebe https://docs.racket-lang.org/guide/contracts-struct.html y busque "Comprobación de propiedades de estructuras de datos".
Se podría argumentar que esto es más bien simular el efecto que tenerlo como parte del lenguaje. Sin embargo, en algún lugar necesitará escribir el código, que le dice al intérprete / compilador cuáles son esas dependencias y en Racket puede hacerlo con contratos.