Resultados de la búsqueda a petición "dependent-type"

3 la respuesta

Haskell: Cómo escribir una instancia de 'Monoid' para algo que depende de parámetros

Estoy trabajando en una pequeña biblioteca para la universidad que hace cálculos enteros en ungrupo cíclico [https://en.wikipedia.org/wiki/Cyclic_group]; Cosas como: (3 (% 11)) + (10 (% 11)) --> (2 (% 11))'Enteros (% n)' claramente formar ...

1 la respuesta

Uso de igualdad booleana idiomática (singletons)

Quiero crear una estructura de datos para almacenar elementos etiquetados a nivel de tipo usando Symbol. Esta: data Store e (ss :: [Symbol]) where Nil :: Store e '[] Cons :: e s -> Store e ss -> Store e (s ': ss) data HasElem (a :: k) (as :: ...

2 la respuesta

No se pudo deducir KnownNat en dos existenciales con respecto a la biblioteca de singletons

Estaba experimentando con la biblioteca de singletons y encontré un caso que no entiendo. {-# LANGUAGE GADTs, StandaloneDeriving, RankNTypes, ScopedTypeVariables, FlexibleInstances, KindSignatures, DataKinds, StandaloneDeriving #-} ...

2 la respuesta

¿Qué biblioteca de vectores usar en coq?

Me pregunto, ¿hay una biblioteca comúnmente utilizada para vectores en coq, es decir? listas indexadas por su longitud en su tipo. Algunos tutoriales hacen referencia a Bvector, pero no se encuentra cuando intento importarlo. Hay ...

2 la respuesta

¿Cuál es la alternativa preferida a Fin de Idris en Haskell?

Me gustaría tener un tipo que pueda contener valores de 0 a n, donde n vive en el nivel de tipo. Estaba intentando algo como: import GHC.TypeLits import Data.Proxy newtype FiniteNat n = FiniteNat { toInteger :: Integer } smartConstructFiniteNat ...

1 la respuesta

¿Cómo puedo expresar la validez de rango en Idris?

Estoy tratando de modelar un formulario de encuesta simple en Idris y actualmente estoy luchando con la validación de la entrada del usuario, que viene como una cadena, w.r.t. al tipo de preguntas formuladas. Actualmente tengo los siguientes ...

1 la respuesta

¿Por qué necesitamos especificar un tipo refinado (o su Aux equivalente) para la salida de ciertos cálculos de tipo?

Enhttps://jto.github.io/articles/typelevel_quicksort [https://jto.github.io/articles/typelevel_quicksort] : Estamos expuestos a unSum tipo cuyoapply Se ve como esto: def apply[A <: Nat, B <: Nat](implicit sum: Sum[A, B]): Aux[A, B, sum.Out] = ...

3 la respuesta

¿Puedes crear funciones que devuelvan funciones de una aridad dependiente en un lenguaje de tipo dependiente?

Por lo que sé sobre los tipos dependientes, creo que debería ser posible, pero nunca antes había visto un ejemplo de esto en un lenguaje de tipo dependiente, por lo que no estoy exactamente seguro de por dónde empezar. Lo que quiero es una ...

2 la respuesta

¿Hay una buena manera de usar `->` directamente como una función en Idris?

Se puede devolver un tipo en una función en Idris, por ejemplo t : Type -> Type -> Type t a b = a -> bPero surgió la situación (al experimentar con la escritura de algunos analizadores) que quería usar-> doblar una lista de tipos, es ...

3 la respuesta

¿Cómo construyo una lista con una longitud de tipo dependiente?

Sumergiendo mi dedo del pie en las aguas de los tipos dependientes, tuve una grieta en el ejemplo canónico de "lista con longitud estáticamente escrita". {-# LANGUAGE DataKinds, GADTs, KindSignatures #-} -- a kind declaration data Nat = Z | S ...