Resultados da pesquisa a pedido "gadt"

2 a resposta

Como posso recuperar o compartilhamento em um GADT?

2 a resposta

Erros de recursão polimórficos do OCaml

Dados os seguintes tipos: type _ task = | Success : 'a -> 'a task | Fail : 'a -> 'a task | Binding : (('a task -> unit) -> unit) -> 'a task | AndThen : ('a -> 'b task) * 'a task -> 'b task | OnError : ('a -> 'b task) * 'a task -> 'b task type _ ...

1 a resposta

Inferência de tipo com GADTs - a0 é intocável

Digamos que eu tenho esse programa {-# LANGUAGE GADTs #-} data My a where A :: Int -> My Int B :: Char -> My Char main :: IO () main = do let x = undefined :: My a case x of A v -> print v -- print xcompila bem. Mas quando eu comento noprint x, ...

1 a resposta

Lista de qualquer `DataKind` no GADT

aviso LegalGADTs e DataKinds são um território inexplorado para mim, portanto, algumas das limitações e capacidades deles são desconhecidas para mim. A questãoEntão, eu estou escrevendo um AST para um emissor de código JavaScript, e identifiquei ...

2 a resposta

Criando expressão GADT no OCaml

Aqui está a minha expressão GADT de brinquedo: type _ expr = | Num : int -> int expr | Add : int expr * int expr -> int expr | Sub : int expr * int expr -> int expr | Mul : int expr * int expr -> int expr | Div : int expr * int expr -> int expr ...

2 a resposta

ipos indutivos parametrizados na Agda

Estou apenas lendo Tipos dependentes no trabalho [http://www.cse.chalmers.se/~peterd/papers/DependentTypesAtWork.pdf]. Na introdução aos tipos parametrizados, o autor menciona que nesta declaração data List (A : Set) : Set where [] : List A ...

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

1 a resposta

Como buracos e contextos podem ser implementados para tipos mais avançados em uma biblioteca uniplate de estilo de lente?

András Kovács propôs esta perguntaem resposta a uma resposta a uma pergunta anterior. [https://stackoverflow.com/questions/25355570/simplifying-a-gadt-with-uniplate/25389564#comment39600628_25389564] Em uma biblioteca uniplate no estilo de lente ...

1 a resposta

makeLenses para GADTs (Haskell)

Existe um equivalente demakeLenses para GADTs? Se eu tiver um simplesGADT gostar: data D a b where D :: (Ord a, Ord b) => !a -> !b -> D a bExiste uma maneira de gerar lentes automaticamente passando um construtor e uma lista de nomes de campos?

5 a resposta

Uso no mundo real do GADT

Como faço para usar o tipo de dados algébrico generalizado? O exemplo dado nohaskell wikibook [http://en.wikibooks.org/wiki/Haskell/GADT]é muito curto para me dar uma idéia das possibilidades reais do GADT.