Resultados de la búsqueda a petición "gadt"
OCaml errores de recursión polimórficos
Dados los siguientes 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 ...
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 ...
Funciones para tipos de datos polimórficos
datosFoo a se define como: data Foo a where Foo :: (Typeable a, Show a) => a -> Foo a -- perhaps more constructors instance Show a => Show (Foo a) where show (Foo a) = show acon algunas instancias: fiveFoo :: Foo Int fiveFoo = Foo 5 falseFoo :: ...
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 ...
Total de colas persistentes en tiempo real
Okasaki describe colas persistentes en tiempo real que se pueden realizar en Haskell utilizando el tipo data Queue a = forall x . Queue { front :: [a] , rear :: [a] , schedule :: [x] } donde las rotaciones incrementales mantienen la ...
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 : ...
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, ...
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 ...
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?
¿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 ...
Página 1 de 2