Preguntas etiquetadas con haskell

Haskell es un lenguaje de programación funcional que ofrece una fuerte tipificación estática, evaluación perezosa, amplio soporte de paralelismo y concurrencia, y capacidades de abstracción únicas.


6
¿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 técnica.
147 haskell  ghc 

1
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 Text Committee name Text CommitteePerson personId PersonId committeeId CommitteeId Puedo …
144 sql  list  haskell  esqueleto 

2
¿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 ‘[GHC.Types.Char]’ || Expected type: containers-0.5.6.2:Data.Map.Base.Map || [GHC.Types.Char] …
143 haskell  ghc  ghc-mod 

1
Uso adecuado de la API HsOpenSSL para implementar un servidor TLS
Estoy tratando de descubrir cómo usar correctamente la API OpenSSL.Session en un contexto concurrente Por ejemplo, suponga que quiero implementar un stunnel-style ssl-wrapper, esperaría tener la siguiente estructura básica de esqueleto, que implementa un ingenuofull-duplex tcp-port-forwarder: runProxy :: PortID -> AddrInfo -> IO () runProxy localPort@(PortNumber lpn) serverAddrInfo = do …
141 haskell  openssl  ssl 

5
¿Qué es "levantar" en Haskell?
No entiendo qué es "levantar". ¿Debería entender primero las mónadas antes de entender qué es un "ascensor"? (También soy completamente ignorante acerca de las mónadas :) ¿O alguien puede explicármelo con palabras simples?

1
¿Cómo enviar un ejecutable con Language.Haskell.Interpreter?
Tenía la esperanza de incrustar un intérprete de Haskell usando hintpara poder escribir complementos en Haskell para usar con mi programa. No quiero tener que enviar toda la plataforma Haskell para mis ejecutables. Normalmente, los ejecutables de Haskell son bastante independientes. Por ejemplo, borrar el PATHno causa un problema: $ …

8
¿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 números de Fibonacci hasta el n …


5
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 :: …
134 haskell  ghci 



4
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: …
130 haskell 


4
¿Qué significa el símbolo "@" en referencia a las listas en Haskell?
Me he encontrado con un código de Haskell que se ve así: ps@(p:pt) ¿Qué significa el @símbolo en este contexto? Parece que no puedo encontrar ninguna información en Google (desafortunadamente es difícil buscar símbolos en Google), y no puedo encontrar la función en la documentación del Preludio, así que imagino …
128 haskell  syntax 

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.