Resultados da pesquisa a pedido "idris"
Como números finitos podem funcionar? (tipos dependentes)
Estou interessado em linguagens dependentes de tipos. Números finitos parecem muito úteis para mim. Por exemplo, para indexar com segurança matrizes de taman...
Por que a caixa de tipos é uma coisa ruim? [fechadas]
AmbosAgdaeIdrisproibir efetivamente a correspondência de padrões nos valores do tipoType. Parece que a Agda sempre corresponde no primeiro caso, enquanto Idris apenas gera um erro. Então, por que o caso tipográfico é uma coisa ruim? Isso quebra ...
Não posso provar (n - 0) = n com Idris
Estou tentando provar que, na minha opinião, é um teorema razoável: theorem1 : (n : Nat) -> (m : Nat) -> (n + (m - n)) = mA prova por indução chega ao ponto em que eu preciso provar isso: lemma1 : (n : Nat) -> (n - 0) = nÉ o que acontece quando ...
Você pode criar funções que retornam funções de uma aridade dependente em um idioma de tipo dependente?
Pelo que sei sobre tipos dependentes, acho que deveria ser possível, mas nunca vi um exemplo disso antes em uma linguagem de tipo dependente, por isso não sei exatamente por onde começar. O que eu quero é uma função do formulário: f : [Int] -> ...
Existe uma boa maneira de usar `->` diretamente como uma função no Idris?
Pode-se retornar um tipo em uma função em Idris, por exemplo t : Type -> Type -> Type t a b = a -> bMas surgiu a situação (ao experimentar escrever alguns analisadores) que eu queria usar-> dobrar uma lista de tipos, ou seja, typeFold : List ...
Provas de nível de tipo aberto em Haskell / Idris
Em Idris / Haskell, é possível provar propriedades dos dados anotando os tipos e usando os construtores GADT, como no Vect, no entanto, isso requer a codificação da propriedade no tipo (por exemplo, um Vect precisa ser um tipo separado de ...
Qual é uma boa maneira de representar grupos livres?
É fácil representar magmas livres (árvores de folhas binárias), semigrupos gratuitos (listas não vazias) e monoides livres (listas), e não é difícil provar que eles realmente são o que afirmam ser. Mas grupos livres parecem muito ...
Então: qual é o objetivo?
Qual é o objetivo pretendido doSo [https://github.com/idris-lang/Idris-dev/blob/master/libs/base/Data/So.idr#L14] tipo? Transliterando para o Agda: data So : Bool → Set where oh : So trueSo eleva uma proposição booleana até uma proposição ...
Como enumerar os elementos de uma lista por `Fin`s em tempo linear?
Podemos enumerar os elementos de uma lista como esta: -- enumerate-ℕ = zip [0..] enumerate-ℕ : ∀ {α} {A : Set α} -> List A -> List (ℕ × A) enumerate-ℕ = go 0 where go : ∀ {α} {A : Set α} -> ℕ -> List A -> List (ℕ × A) go n [] = [] go n (x ∷ xs) ...
O que são universos cumulativos e `*: *`?
Na Agda, háSet n. Como eu entendo,Set n estende a hierarquia de tipo de valor no estilo Haskell para níveis infinitos. Isso é,Set 0 é o universo dos tipos normais,Set 1 é o universo de tipos normais,Set 2 é o universo de tipos normais, etc. Por ...