Resultados da pesquisa a pedido "dependent-type"

1 a resposta

Uso de igualdade booleana linguística (singletons)

Quero criar uma estrutura de dados para armazenar itens marcados no nível de tipo usando o Symbol. Este: data Store e (ss :: [Symbol]) where Nil :: Store e '[] Cons :: e s -> Store e ss -> Store e (s ': ss) data HasElem (a :: k) (as :: [k]) ...

1 a resposta

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 : ...

1 a resposta

Por que precisamos especificar um tipo refinado (ou seu equivalente Aux) para a saída de determinados cálculos de tipo?

Nohttps://jto.github.io/articles/typelevel_quicksort [https://jto.github.io/articles/typelevel_quicksort] : Estamos expostos a umSum tipo cujaapply se parece com isso: def apply[A <: Nat, B <: Nat](implicit sum: Sum[A, B]): Aux[A, B, sum.Out] = ...

1 a resposta

função de replicação para uma lista indexada em comprimento usando GHC.TypeLits e singletons

Estou tentando escrever uma função de replicação para uma lista indexada por comprimento usando o mecanismo deGHC.TypeLits [https://hackage.haskell.org/package/base-4.11.0.0/docs/GHC-TypeLits.html], singletons ...

2 a resposta

Como indexar um tipo de “elemento” por um valor de “contêiner de origem”?

Então, eu tenho uma situação muito semelhante a esse código (muito simplificado):

2 a resposta

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...

2 a resposta

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 ...

2 a resposta

Como definir operador de divisão na Agda?

Eu quero dividir dois números naturais. Eu fiz funcionar assim _/_ : N -> N -> frac m / one = m / one (suc m) / n = ?? I dont know what to write here.Por favor ajude.

2 a resposta

Haskell: Especificando Restrições de Comprimento Igual a Listas no Sistema de Tipos

Em Haskell, muitas vezes tenho uma função comof, que aceita uma lista e retorna uma lista de igual comprimento: f :: [a] -> [a] -- length f(xs) == length xsDa mesma forma, eu posso ter uma função comog, que aceita duas listas que devem ter o ...

2 a resposta

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 ...