Detalles de software:
Versión: 7.8.4
Fecha de carga: 1 Mar 15
Licencia: Libre
Popularidad: 184
Actualmente soporta todo el Haskell 98 idiomas y una gran variedad de extensiones de lenguaje
Características :.
- GHC tiene particularmente un buen apoyo para la concurrencia y paralelismo, incluyendo soporte para memoria Software transaccional (STM).
- GHC genera código rápido, especialmente para los programas concurrentes. Echa un vistazo a la actuación de GHC en Los Puntos de Referencia Juego Lenguaje de ordenadores, y algunos comentarios sobre Haskell por el organizador actual del tiroteo, Brent Fulgham.
- GHC funciona en varias plataformas, incluyendo varios diferentes arquitecturas de procesador mayoría de las variedades de Unix de Windows y, y. Hay instrucciones detalladas para portar GHC a una nueva plataforma.
- GHC tiene amplias capacidades de optimización, incluyendo la optimización entre módulos.
- GHC compila el código Haskell ya sea mediante el uso de un compilador de C intermedio (GCC), o mediante la generación de código nativo en algunas plataformas. El entorno interactivo compila Haskell a código de bytes, y apoya la ejecución de los programas compilados bytecode / mixto.
- Profiling es compatible, tanto por el tiempo / asignación y diversos tipos de perfiles montón.
- GHC viene con una amplia gama de bibliotecas.
¿Cuál es nuevo en esta versión:
- Por defecto, GHC ha permitido una nueva advertencia, -fwarn -typed agujeros, lo que provoca que el compilador de responder con los tipos de variables no consolidados que encuentra en el código fuente.
- Ahora es posible declarar un tipo de familia "cerrado" cuando se utiliza la extensión TypeFamilies.
- GHC ahora soporta la sobrecarga de lista literales utilizando la nueva extensión OverloadedLists.
- GHC ahora soporta sinónimos patrón, habilitado por la extensión -XPatternSynonyms.
¿Qué hay de nuevo en la versión 7.6.2:
- Una larga bug typechecker que permitió a unsafeCoerce escribir ha sido corregido.
- Un error se ha corregido que causó GHC a veces no se dan cuenta que la recompilación era necesario.
- Si ambos -H y un -M & # X3c; tamaño & # X3e; bandera se dan, entonces GHC ya no exceder el tamaño máximo de almacenamiento dinámico.
- Un error off-by-one, que podría causar segfaults, en el pabellón de análisis RTS se ha solucionado.
- Varios errores que podrían causar GHC pánico al compilar ciertos archivos de origen se han fijado.
- Algunos errores en la comprobación de tipos los DataKinds y PolyKinds extensiones han sido corregidos.
- Rendimiento de los programas compilados se ha mejorado en algunos casos.
¿Qué hay de nuevo en la versión 7.6.1:
- tipos polimórficos y promoción datos están totalmente implementadas y características soportadas:. Sección 7.8, & quot; Kind polimorfismo & quot;
- de 64 bits de Windows es ahora una plataforma compatible.
- Ahora es posible aplazar hasta errores de tipo en tiempo de ejecución utilizando la bandera -fdefer-tipo-errors:. Sección 7.13, & quot; El aplazamiento de errores de tipo en tiempo de ejecución a & quot;
- El RTS ahora es compatible con el cambio del número de capacidades en tiempo de ejecución con Control.Concurrent.setNumCapabilities:. Sección 4.15.2, & quot; Opciones de estrategia en tiempo real para SMP paralelismo & quot;
¿Cuál es nuevo en la versión 7.4.2:.
- hp2ps ahora puede manejar las barras invertidas en los identificadores correctamente
- Solución de error en la implementación predeterminada de popCount en Data.Bits.
- Una condición potencial carrera en Control.Concurrent.Chan se ha solucionado.
- Un error MVar que podría causar bloqueos se ha solucionado.
- Cuando use--fwarn inseguro, GHC informa ahora extensiones de lenguaje inseguras.
- Los RTS sin rosca ahora evita activaciones cuando el sistema está inactivo.
- Un error que causa un accidente con un muy pequeño tamaño inicial de la pila se ha solucionado.
¿Qué hay de nuevo en la versión 7.4.1:
- Hay una nueva función Seguridad de Haskell (-XSafe , -XTrustworthy, -XUnsafe): Sección 7.23, & quot; seguro Haskell & quot ;. El diseño ha cambiado desde 7.2.
- Hay una nueva característica tipo polimorfismo (-XPolyKinds): Sección 7.8.1, & quot; Kind polimorfismo & quot ;. Un efecto secundario de esto es que, cuando la extensión no está habilitado, en ciertas circunstancias tipos están en mora a * en lugar de ser reales.
- Hay una nueva clase característica de restricción (-XConstraintKinds):. Sección 7.10, & quot; El tipo & quot restricción;
- Ahora es posible dar ningún tipo de declaración en el símbolo ghci:. Sección 2.4.4, & quot; de tipo, clase y otras declaraciones & quot;
- El perfilado y HPC implementaciones se han fusionado y reacondicionado. Cambios visibles incluyen el cambio de nombre de perfiles de banderas y las pilas de coste-centro tiene una nueva semántica, las cuales en la mayoría de los casos, dar lugar a perfiles más útiles e intuitivas. La bandera -xc + RTS ahora también da un seguimiento de pila.
- Ahora es posible escribir plugins compilador:. Sección 9.3, & quot; Compiler Plugins & quot;
- Soporte DPH se ha mejorado significativamente.
- En la actualidad existe un apoyo preliminar para la compilación registerised en la plataforma ARM, usando LLVM.
¿Qué hay de nuevo en la versión 7.0.4: x86
- Una regresión de punto flotante en 7.0.3 que afecta ha sido corregido.
- El enlazador GHCi ahora maneja ficheros objeto parcialmente pelados. Esto fija la carga del paquete ghc en ghci cuando ha sido despojado, que es a menudo el caso en los paquetes de distribución de Linux.
- Un error que causó malos resultados de getCPUTime, getClockTime y GetCurrentTime se ha solucionado.
- Un error del sistema en tiempo de ejecución con grandes montones se ha solucionado.
- Un error del sistema en tiempo de ejecución cuando perfiles montón se ha solucionado.
- Un error del sistema en tiempo de ejecución cuando perfiles montón se ha solucionado.
- Un error del sistema en tiempo de ejecución, lo que provocó resultados incorrectos y de segmentación al utilizar devoluciones de llamada de FFI, se ha solucionado.
- Un error del sistema en tiempo de ejecución, que en ocasiones provocaron programas paralelos a & # X3c; & # X3c; loop & # X3e; & # X3e; cuando se utiliza -feager-blackholing, se ha solucionado.
- permisos de directorio incorrecto al instalar se han fijado.
- Se han realizado algunas mejoras en el nuevo soporte de banco de pruebas Cabal.
- Cabal es ahora 1.10.2.0 (era 1.10.1.0).
¿Qué hay de nuevo en la versión 7.0.2:
- Compilador:
- El viejo [$ foo | ... |]. Sintaxis funciona de nuevo, pero está en desuso
- Ha habido alguna mejora significativa para el nuevo tipo de corrector.
- GHCi:
- Cargando .a bibliotecas ahora disponible en todas las plataformas. Una biblioteca .o seguirá siendo utilizado por preferencia si ambos existen. GHCi dejará de advertir sobre los desaparecidos .o bibliotecas.
- Ahora cerrar .ghci archivos después de leerlos, que en máquinas Windows permite que sean alteradas mientras GHCi está en ejecución.
- Ahora es posible:. Unset las variables ghci (args, prog, inmediata, editor y parada)
- Tiempo de ejecución:
- DTrace Ahora se admite en Solaris, además de OS X.
- Sistema Contextura:
- OS X se basa en 10.6 ahora funciona tanto en 10.5 y 10.6.
- instalaciones de Windows incluyen ahora la libstdc ++ DLL.
- Abadejo:
- GHC ahora viene con eglefino 2.9.0.
- GHC ahora incluye bases de datos Hoogle para las bibliotecas.
Sistema
¿Cuál es nuevo en la versión 7.0.1:
- En las plataformas POSIX, hay un nuevo I / gerente O basado en epoll / kqueue / encuesta, que permite multiproceso código de E / S para escalar a un número mucho más grande (100k +) de hilos.
- GHC ahora incluye un generador de código LLVM. Por cierto código, código pesada particularmente aritmética, utilizando el generador de código LLVM puede traer algunas mejoras de rendimiento.
- El corrector tipo ha sido revisado, lo que significa que ahora es capaz de manejar correctamente las interacciones entre las extensiones del sistema tipo.
- El revestimiento interior se ha renovado, que debería, en general, dar un mejor rendimiento al tiempo que reduce innecesaria explosión código de tamaño.
- Grandes partes del sistema de ejecución se han revisado, en particular, los mecanismos relacionados con el bloqueo y la activación de las discusiones y de lanzar una excepción (throwTo). Varios casos de actuación patológica se han fijado, en especial cuando se trata de un gran número de hilos.
- Debido a cambios en el sistema de ejecución, si está utilizando Control.Parallel.Strategies del paquete paralelo, por favor, actualice al menos a la versión 2 (preferiblemente la versión 3). La implementación de estrategias en paralelo 1.x perderá paralelismo con GHC 7.0.1.
Comentarios que no se encuentran