É possível usar tipos dependentes na implementação existente do Typed Racket ? (ou seja, eles existem nele?)
É razoavelmente possível implementar um sistema de tipos dependentes usando raquete digitada?
É possível usar tipos dependentes na implementação existente do Typed Racket ? (ou seja, eles existem nele?)
É razoavelmente possível implementar um sistema de tipos dependentes usando raquete digitada?
Respostas:
Os tipos dependentes de raquete estão sendo trabalhados por Andrew Kent na Universidade de Indiana.
Há um conjunto de slides . Há uma conversa .
De interesse, isso potencialmente também afeta o Typed Clojure , que é fortemente modelado no Typed Racket.
Eu acho que "fazer tipos dependentes" usando contratos já é possível. Verifique https://docs.racket-lang.org/guide/contracts-struct.html e procure "Verificando Propriedades das Estruturas de Dados".
Você poderia argumentar que isso simula o efeito, em vez de tê-lo como parte do idioma. No entanto, em algum lugar você precisará escrever o código, que informa ao intérprete / compilador quais são essas dependências e no Racket você pode fazer isso com contratos.