Estou lendo o livro do HoTT e tenho dificuldade em induzir caminhos. Quando olho para o tipo na secção 1.12.1 :
Estou lendo o livro do HoTT e tenho dificuldade em induzir caminhos. Quando olho para o tipo na secção 1.12.1 :
Alguém já escreveu um sistema (software ou explicação detalhada no papel, com exemplos simples) que gera programas de computador? Eu introduzo e ele cria um programa que lista os números primos menores que 10. é simplesmente definido como professores dizem que podem, mas ninguém dá exemplos...
O combinador Y tem o tipo . Pela correspondência de Curry-Howard, como o tipo é habitado, ele deve corresponder a um verdadeiro teorema. No entanto, é sempre verdadeiro, portanto parece que o tipo do combinador Y corresponde ao teorema , o que nem sempre é verdadeiro. Como isso pode ser?( a → a ) →...
Estou trabalhando em um compilador para uma linguagem concatenativa e gostaria de adicionar suporte à inferência de tipo. Entendo Hindley-Milner, mas tenho aprendido a teoria dos tipos à medida que passo, por isso não tenho certeza de como adaptá-la. O sistema a seguir é sólido e decididamente...
Estou lendo o livro do HoTT e tenho uma pergunta (provavelmente muito ingênua) sobre as coisas do capítulo um. O capítulo apresenta o tipo de função e o generaliza, tornando B dependente de x : A B : A → U ,f:A→Bf:A→B f:A\to B BBBx:Ax:Ax:A e isso é chamado detipo de função...
Aqui eu li isso: O Haskell definitivamente não possui o sistema de tipos mais avançado (nem mesmo próximo, se você contar as linguagens de pesquisa), mas dentre todas as linguagens que são realmente usadas na produção, o Haskell provavelmente está no topo. Então, eu estou perguntando duas...
Alguns dos trabalhos de Conor McBride, Diff , Dissect , relacionam a derivada de tipos de dados ao seu "tipo de contextos de um buraco". Ou seja, se você pegar a derivada do tipo, ficará com um tipo de dado que mostra como o tipo de dado fica por dentro em qualquer ponto. Então, por exemplo, se...
Estou lendo sobre o algoritmo de digitação Hindley-Milner ao escrever uma implementação e vejo que, desde que todas as variáveis sejam vinculadas, você sempre terá tipos atômicos ou tipos em que os argumentos determinarão o tipo final, como t1 -> t1ou (t1 -> t2) -> (t1 -> t2)onde t1e...
Eu pensei ter entendido a digitação dependente (DT) corretamente, mas a resposta a esta pergunta: /cstheory/30651/why-was-there-a-need-for-martin-l%C3% A teoria do tipo B6f para criar intuicionista me fez pensar o contrário. Depois de ler sobre a TD e tentar entender o que são, estou tentando...
Eu continuo ouvindo sobre como é preciso aprender a teoria das categorias para realmente entender a teoria da linguagem de programação. Até agora, aprendi bastante PL sem nunca entrar no campo das categorias. No entanto, achei que era hora de dar o salto para ver o que estava
Eu sei que autores diferentes usam notação diferente para representar a semântica da linguagem de programação. De fato, Guy Steele aborda esse problema em um vídeo interessante . Gostaria de saber se alguém sabe se o operador líder de torniquete tem um significado bem reconhecido. Por exemplo, eu...
Adoro tudo o que é tempo de compilação e adoro a idéia de que, depois que você compila um programa, muitas garantias são feitas sobre sua execução. De um modo geral, um sistema de tipo estático (Haskell, C ++, ...) parece oferecer garantias mais fortes em tempo de compilação do que qualquer sistema...
Recentemente, percebi que existe algum tipo de relação entre a teoria de tipos russelliana e os sistemas de tipos, como encontrado, por exemplo, em Haskell. Na verdade, algumas das notações para tipos em Haskell parecem ter precursores na teoria dos tipos. Mas, IMHO, a motivação de Russell em 1908...
Se uma função tiver o tipo de retorno ⊥ ( tipo inferior ), isso significa que nunca retorna. Pode, por exemplo, sair ou jogar, ambas as situações bastante comuns. Presumivelmente, se uma função tivesse um parâmetro do tipo ⊥ nunca poderia (com segurança) ser chamada. Existe alguma razão para...
Fui informado de que o custo da inferência de tipo em uma linguagem funcional como o OCaml pode ser muito alto. A alegação é que existe uma sequência de expressões que, para cada expressão, o comprimento do tipo correspondente é exponencial no comprimento da expressão. Eu inventei a sequência...
Eu estou olhando para o Cálculo de Construções e seu lugar no Cubo Lambda . Se bem entendi, cada eixo do cubo pode ser considerado como adicionando outra operação envolvendo tipos ao cálculo de tipo simples, . O primeiro eixo adiciona operadores de tipo a termo, o segundo operador de tipo a tipo e...
Suponha que alguém queira raciocinar sobre propriedades do código além de coisas como totalidade e pureza funcional - também se preocupa com o consumo de memória ou com a complexidade algorítmica de uma função. Isso pode ser feito através de sistemas de digitação e efeitos...
O que é indução-indução ? Os recursos que encontrei são: o livro HoTT , no final do capítulo 5.7. Artigo do nLab um artigo chamado definições indutivo-indutivas este post do blog também menciona tipos indutivos-indutivos As duas primeiras referências são muito breves para mim e as duas últimas...
No trabalho, fui encarregado de deduzir algumas informações de tipo sobre uma linguagem dinâmica. Reescrevo seqüências de instruções em letexpressões aninhadas , da seguinte maneira: return x; Z => x var x; Z => let x = undefined in Z x = y; Z => let x = y in Z if x then T else F; Z =>...
Eu estou trabalhando em uma linguagem baseada em expressão da genealogia ML, então ela naturalmente precisa de inferência de tipo> :) Agora, estou tentando estender uma solução baseada em restrições para o problema de inferir tipos, com base em uma implementação simples no EOPL (Friedman e...