Resultados de la búsqueda a petición "gadt"

1 la respuesta

GHC se queja de patrones no exhaustivos que se aplican por el comprobador de tipos

Tengo el siguiente código

1 la respuesta

¿Cómo se pueden implementar los agujeros y los contextos para los tipos de tipo superior en una biblioteca uniplate de estilo de lente?

András Kovács propuso esta preguntaen respuesta a una respuesta a una pregunta anterior. [https://stackoverflow.com/questions/25355570/simplifying-a-gadt-with-uniplate/25389564#comment39600628_25389564] En una biblioteca uniplate estilo lente ...

1 la respuesta

makeLenses para GADTs (Haskell)

¿Hay un equivalente demakeLenses para GADTs? Si tengo un simpleGADT me gusta: data D a b where D :: (Ord a, Ord b) => !a -> !b -> D a b¿Hay alguna forma de generar lentes automáticamente pasando un constructor y una lista de nombres de campo?

1 la respuesta

Lista de cualquier `DataKind` en GADT

Descargo de responsabilidadLos GADT y DataKinds son un territorio inexplorado para mí, por lo que algunas de sus limitaciones y capacidades son desconocidas para mí. La preguntaAsí que estoy escribiendo un AST para un emisor de código ...

1 la respuesta

Inferencia de tipos con GADT: a0 es intocable

Digamos que tengo este 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 bien. Pero cuando comento en elprint x, ...

1 la respuesta

Coincidencia de patrones en la teoría del tipo observacional

Al final de la sección "5. OTT completo" deHacia la teoría del tipo de observación [http://strictlypositive.org/ott.pdf]Los autores muestran cómo definir los tipos de datos indexados coercibles bajo constructores en OTT. La idea es básicamente ...

1 la respuesta

GADT's: ¿aplicaciones y utilidad?

Estoy cubriendo los GADT usando learnyouahaskell y estoy interesado en sus posibles usos. Entiendo que su característica principal es permitir la configuración de tipo explícito. Como: data Users a where GetUserName :: Int -> Users String ...

2 la respuesta

¿Cómo puedo recuperar el compartir en un GADT?

EnTipo-Compartir observable seguro en Haskell Andy Gill muestra cómo recuperar el intercambio que existía en el nivel de Haskell, en un DSL. Su solución se i...

2 la respuesta

Problemas con DataKinds

2 la respuesta

Crear expresión GADT en OCaml

Ahí está mi expresión GADT de juguete: 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 | Lt : ...