Resultados da pesquisa a pedido "dependent-type"

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

1 a resposta

O tamanho de aninhado duas vezes pode ser uma expressão dependente?

Notei que o gcc 5.0 rejeita o código a seguir, enquanto o clang 3.6 o aceita. template<int n> struct I { typedef int Type; }; template<typename T> struct A { typedef I<sizeof(sizeof(T))>::Type Type; };Os dois compiladores parecem ...

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.

1 a resposta

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

1 a resposta

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?

1 a resposta

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

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

1 a resposta

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

1 a resposta

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

1 a resposta

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