Preguntas etiquetadas con haskell

161
¿Por qué no ser tipeado de forma dependiente?

He visto varias fuentes hacerse eco de la opinión de que "Haskell se está convirtiendo gradualmente en un lenguaje de tipo dependiente". La implicación parece ser que con más y más extensiones de lenguaje, Haskell se está desviando en esa dirección general, pero aún no está allí. Básicamente hay...

156
Especialización con restricciones

Tengo problemas para que GHC especialice una función con una restricción de clase. Tengo un ejemplo mínimo de mi problema aquí: Foo.hs y Main.hs . Los dos archivos se compilan (GHC 7.6.2, ghc -O3 Main) y se ejecutan. NOTA: Foo.hs está realmente despojado. Si desea ver por qué se necesita la...

147
¿Por qué es GHC tan grande / grande?

¿Hay una respuesta simple: por qué es tan grande el GHC? OCaml: 2MB Python: 15 MB SBCL: 9MB OpenJRE - 26MB GHC: 113MB No me interesa el evangelismo de "Por qué no debería importarme el tamaño si Haskell es la herramienta adecuada"; Esta es una pregunta

144
Manejo de tipos de listas con Esqueleto

Tengo tipos de datos definidos como: data ComitteeView = CommitteeView { committeeId :: CommitteeId , committeeMembers :: [Person] } data CommitteesView = CommitteesView { committeeView :: [CommitteeView] } Ahora, tal como está, tengo un modelo Persistente definido como: Person name...

143
¿GHC-mod tiene que usar nombres completos para los tipos?

Estoy tratando de usar el ghc-modcomplemento vim para hacer una verificación de tipo / sintaxis, etc. Sin embargo, descubrí que ghc-modsiempre usa rutas completas de tipos en los mensajes de error, por ejemplo: test.hs|71 col 13 error| Couldn't match type ‘Data.Text.Internal.Text’ || with...

136
¿Memoración en Haskell?

Cualquier indicador sobre cómo resolver eficientemente la siguiente función en Haskell, para grandes números (n > 108) f(n) = max(n, f(n/2) + f(n/3) + f(n/4)) He visto ejemplos de memorización en Haskell para resolver números de Fibonacci, lo que implicaba calcular (perezosamente) todos los...

134
Comandos multilínea en GHCi

Tengo problemas para ingresar comandos de varias líneas en ghci. El siguiente código de 2 líneas funciona desde un archivo: addTwo :: Int -> Int -> Int addTwo x y = x + y Pero cuando entro en ghci, aparece un error: <interactive>:1:1: error: Variable not in scope: addTwo :: Int...

130
Diferencia entre `mod` y` rem` en Haskell

¿Cuál es exactamente la diferencia entre mody remen Haskell? Ambos parecen dar los mismos resultados. *Main> mod 2 3 2 *Main> rem 2 3 2 *Main> mod 10 5 0 *Main> rem 10 5 0 *Main> mod 1 0 *** Exception: divide by zero *Main> rem 1 0 *** Exception: divide by zero *Main> mod 1...