ghc

Lectura del Núcleo GHC

Core es el lenguaje intermedio de GHC. Reading Core puede ayudarte a entender mejor el rendimiento de tu programa. Alguien me ... WH: Capítulo 25. Creación de perfiles y optimización Charla de alto rendimiento de Haskell en CUFP (diapositiva 65-80)

¿Qué hace la palabra clave` forall ' en Haskell/GHC?

Estoy empezando a entender cómo se usa la palabra clave forall en los llamados "tipos existenciales" de esta manera: data S ... ra entender esto hasta el punto de que forall no me deja con una tenue sensación de temor cuando lo veo en una firma de tipo.

¿Por qué es GHC tan grande / grande?

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

Especialización con Limitaciones

Estoy teniendo problemas para que GHC especialice una función con una restricción de clase. Tengo un ejemplo mínimo de mi pro ... astCyc, y cómo puedo hacerlo? UPDATE El problema persiste en GHC 7.8.2, por lo que esta pregunta es sigue siendo relevante.

Huella de memoria de los tipos de datos de Haskell

¿Cómo puedo encontrar la cantidad real de memoria necesaria para almacenar un valor de algún tipo de datos en Haskell (princ ... :set +s en GHCi para ver las estadísticas de memoria, pero no está claro cómo estimar la huella de memoria de un solo valor.

¿Cuándo es apropiado-XAllowAmbiguousTypes?

Recientemente he publicado una pregunta sobre sintáctica-2.0 con respecto a la definición de share. He tenido esto trabajan ... entras que share es? Dado que share es una aplicación de sugarSym, las restricciones share vienen directamente de sugarSym.

¿Por qué este código Haskell se ejecuta más lento con-O?

Este fragmento de código de Haskell corre mucho más lento con -O, pero -O debería ser no peligroso. ¿Alguien puede decirme qu ... 6.4% elapsed) Alloc rate 3,009,412,603 bytes per MUT second Productivity 69.7% of total user, 69.4% of total elapsed

¿Cómo leer esta "prueba" de GHC Core?

Escribí este pequeño fragmento de Haskell para averiguar cómo GHC demuestra que para los números naturales, solo se pueden re ... uivalencia de forma secuencial? ¿Qué son estos _N y _R sufijos? Son TFCo:R:Flip[0] y TFCo:R:Flip[1] las instancias de Flip?

Reducción del tiempo de pausa de recolección de basura en un programa Haskell

Estamos desarrollando un programa que recibe y reenvía "mensajes", mientras mantiene un historial temporal de esos mensajes, ... s baja. ¿Hay alguna forma de "particionar" la memoria para ciclos GC más pequeños, aparte de dividir en múltiples procesos?

¿Debo usar GHC Haskell extensions o no?

Mientras estoy aprendiendo Haskell, veo que hay muchas extensiones de lenguaje usadas en código de la vida real. Como princi ... "? Por ejemplo, supongo que -XDisambiguateRecordFields es agradable y útil, pero es probable que sea compatible en el futuro?

¿Por qué no puedo hacer de String una instancia de una clase de tipo?

Dado: data Foo = FooString String … class Fooable a where --(is this a good way to name this?) toFoo :: a -> Foo ... de una clase de tipo? GHC parece dispuesto a dejarme salir con la suya si agrego una bandera adicional. ¿Es una buena idea?

¿Cómo puedo desinstalar una versión de un paquete Cabal?

Happstack Lite se está rompiendo en mí porque está recibiendo blaze-html versión 0.5 y quiere la versión 0.4. Cabal dice que ... omando no es ignorado. Y con la respuesta aceptada de Don Stewart puede eliminar exactamente la versión que desea eliminar.

Casos huérfanos en Haskell

Al compilar mi aplicación Haskell con la opción -Wall, GHC se queja de instancias huérfanas, por ejemplo: Publisher.hs:45:9 ... ía justificado en ignorar/suprimir esta advertencia, o un argumento más convincente en contra de hacer las cosas a mi manera.

Mezcla de Erlang y Haskell

Si usted ha comprado en el paradigma de programación funcional, lo más probable es que le gusta tanto Erlang y Haskell. Ambo ... o John afirma que GC es lento y realmente no ha acelerado mucho, me gustaría ser capaz de contrarrestar con algunos números.

Cómo ejecutar un archivo haskell en modo interpretado

Me han dicho que puedes interpretar archivos haskell (lo que supongo que significa que funcionarán como Ruby/Python/Perl). No ... modo interpretado) y ejecutarla para que pueda obtener retroalimentación rápida mientras estoy probando ideas y aprendizaje.

¿Por qué las clases de tipo eran difíciles de implementar?

En la diapositiva 30/78 de esta presentación, Simon sugiere que la implementación de clases tipo fue una "desesperación" al principio. ¿Alguien sabe por qué fue eso?

Creación de bibliotecas compartidas de Haskell en OS X

Estoy intentando crear una biblioteca compartida a partir del código fuente de Haskell. He intentado siguiendo las instrucci ... tps://github.com/bennoleslie/haskell-shared-example Logré que algo funcionara para ghc de 32 bits, pero aún no para 64 bits.

¿Un buen texto introductorio sobre la implementación de GHC?

Al programar en Haskell (y especialmente al resolver problemas del Proyecto Euler, donde las soluciones subóptimas tienden a ... utilizan la pila y el montón? ¿Qué es un CAF? (el perfilado indica a veces que el hotspot está allí, pero no tengo idea)

Diferencia entre Print y putStrLn en Haskell

Estoy confundido. Trato de usar print, pero sé que la gente aplica putStrLn. ¿Cuáles son las diferencias reales entre ellos? print $ function putStrLn $ function

¿Cómo actúa IncoherentInstances?

Jugando con algún código : {-# LANGUAGE FlexibleInstances, OverlappingInstances #-} class Arity f where arity :: f -> ... y -> 3 -- should be 2 0 ¿Cuál es la magia negra detrás de las Instancias Incoherentes? ¿Por qué hace lo que hace aquí?