Resultados da pesquisa a pedido "dependent-type"
Total de filas persistentes em tempo real
Okasaki descreve filas persistentes em tempo real que podem ser realizadas em Haskell usando o tipo data Queue a = forall x . Queue { front :: [a] , rear :: [a] , schedule :: [x] } onde rotações incrementais mantêm a invariante length schedule ...
Programação genérica do Arity no Agda
Como escrever funções genéricas de arity no Agda? É possível escrever funções genéricas de aridade polimórficas e totalmente dependentes e do universo?
Como posso expressar a validade do intervalo no Idris?
Estou tentando modelar um formulário de pesquisa simples em Idris e atualmente lutando com a validação de entrada do usuário, que vem como uma string, w.r.t. ao tipo de perguntas feitas. Atualmente, tenho os seguintes tipos: data Question : ...
Por que as novas linguagens de tipo dependente não adotaram a abordagem do SSReflect?
Existem duas convenções que encontrei na extensão SSReflect da Coq que parecem particularmente úteis, mas que não vi amplamente adotadas em linguagens de tipo dependente mais recentes (Lean, Agda, Idris). Em primeiro lugar, sempre que possível, ...
Qual é a alternativa preferida para Fin de Idris em Haskell
Eu gostaria de ter um tipo que possa conter valores de 0 a n, onde n mora no nível de tipo. Eu estava tentando algo como: import GHC.TypeLits import Data.Proxy newtype FiniteNat n = FiniteNat { toInteger :: Integer } smartConstructFiniteNat :: ...
Tipo de argumento do construtor da classe de caso, dependendo do valor do argumento anterior
Estou tentando fazer o seguinte trait Stateful { type State } case class SystemState(system: Stateful, state: system.State) // does not compileOu seja, o tipo destatedepende de (o valor de)system. Isso, no entanto, não é suportado: tipo de ...
Agda: analisar uma string com números
Eu estou tentando analisar uma string com números naturais em Agda. por exemplo, o resultado de
Qual biblioteca de vetores usar no coq?
Gostaria de saber, existe uma biblioteca comumente usada para vetores em coq, ie. listas indexadas pelo tamanho em seu tipo. Alguns tutoriais fazem referência ao Bvector, mas não é encontrado quando tento importá-lo. Há Coq.Vectors.Vectordef, ...
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 ...
Compreendendo a assinatura `k: Nat ** 5 * k = n`
A seguinte função compila: onlyModByFive : (n : Nat) -> (k : Nat ** 5 * k = n) -> Nat onlyModByFive n k = 100Mas o que fazk representar com a suaNat ** 5 * k = n sintaxe? Além disso, como posso chamá-lo? Aqui está o que eu tentei, mas não ...