Preguntas etiquetadas con ghc

Glasgow Haskell Compiler es un compilador de código abierto y un entorno interactivo de última generación para el lenguaje funcional Haskell. Use esta etiqueta para preguntas específicamente sobre GHC y no sobre Haskell en general, ya que casi todos la usarán a menos que se especifique lo contrario.

392
Transitividad de la especialización automática en GHC

De los documentos para GHC 7.6: [Y] a menudo ni siquiera necesitas el pragma SPECIALIZE en primer lugar. Al compilar un módulo M, el optimizador de GHC (con -O) considera automáticamente cada función sobrecargada de nivel superior declarada en M, y la especializa para los diferentes tipos a los...

322
Técnicas para rastrear restricciones

Este es el escenario: he escrito un código con una firma de tipo y las quejas de GHC no pudieron deducir x ~ y para algunos xy y. Por lo general, puede arrojar un hueso a GHC y simplemente agregar el isomorfismo a las restricciones de la función, pero esta es una mala idea por varias razones: No...

212
¿Cuándo es apropiado -XAllowAmbiguousTypes?

Recientemente publiqué una pregunta sobre syntactic-2.0 con respecto a la definición de share. He tenido esto trabajando en GHC 7.6 : {-# LANGUAGE GADTs, TypeOperators, FlexibleContexts #-} import Data.Syntactic import Data.Syntactic.Sugar.BindingT data Let a where Let :: Let (a :-> (a ->...

193
Lectura de GHC Core

Core es el lenguaje intermedio de GHC. Reading Core puede ayudarlo a comprender mejor el rendimiento de su programa. Alguien me pidió documentación o tutoriales sobre lectura de Core, pero no pude encontrar mucho. ¿Qué documentación hay disponible para leer GHC Core? Esto es lo que he encontrado...

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

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

86
Instancias huérfanas en Haskell

Al compilar mi aplicación Haskell con la -Wallopción, GHC se queja de instancias huérfanas, por ejemplo: Publisher.hs:45:9: Warning: orphan instance: instance ToSElem Result La clase de tipo ToSElemno es mía, está definida por HStringTemplate . Ahora sé cómo solucionar esto (mueva la...