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

2 la respuesta

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

1 la respuesta

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

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

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

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

1 la respuesta

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

1 la respuesta

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?

1 la respuesta

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

1 la respuesta

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

1 la respuesta

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