Resultados de la búsqueda a petición "idris"
Idris de cálculo de tipo no trivial para la indexación de tensor
He estado jugando con una biblioteca de tensor simple, en la que he definido el siguiente tipo. data Tensor : Vect n Nat -> Type -> Type where Scalar : a -> Tensor [] a Dimension : Vect n (Tensor d a) -> Tensor (n :: d) aEl parámetro vectorial ...
(xs: Vect n elem) -> Vect (n * 2) elem
El libroDesarrollo dirigido por tipo con Idris [https://www.manning.com/books/type-driven-development-with-idris]presenta este ejercicio: Defina un posible método que se ajuste a la firma: two : (xs : Vect n elem) -> Vect (n * 2) elem Lo ...
¿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 ...
¿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 ...
Función para determinar si Nat es divisible por 5 en tiempo de compilación
UtilizandoCactus [https://stackoverflow.com/users/477476/cactus]es útilresponder [https://stackoverflow.com/a/36465477/409976], Intenté escribir una función que, dada unaNat, devolveré esoNat si es divisible por5. onlyModBy5Helper : (n : Nat) -> ...
En Idris, ¿es "Eq a" un tipo y puedo proporcionarle un valor?
En el siguiente,example1 es la sintaxis estándar (como se documenta), conEq a como una restricción Enexample2EspecificoEq a directamente como el tipo de un parámetro, y el compilador lo acepta. Sin embargo, no está claro qué puedo especificar ...
Idris: ¿Es posible reescribir todas las funciones usando "con" para usar "case" en lugar de "with"? Si no, ¿podría dar un ejemplo contrario?
En Idris, ¿es posible reescribir todas las funciones usando "con [http://docs.idris-lang.org/en/latest/tutorial/views.html]"usar" case "en lugar de" with "? Si no, ¿podría dar un ejemplo contrario?
¿Qué son los universos acumulativos y `*: *`?
En Agda, haySet n. Según entiendo,Set n extiende la jerarquía de tipo de valor de tipo estilo Haskell a niveles infinitos. Es decir,Set 0 es el universo de los tipos normales,Set 1 es el universo de los tipos normales,Set 2 es el universo de los ...
Pruebas de nivel de tipo abierto en Haskell / Idris
En Idris / Haskell, uno puede probar las propiedades de los datos anotando los tipos y utilizando constructores GADT, como con Vect, sin embargo, esto requiere codificar la propiedad en el tipo (por ejemplo, un Vect debe ser un tipo separado de ...
¿Cómo enumerar los elementos de una lista por `Fin`s en tiempo lineal?
Podemos enumerar los elementos de una 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) ...