Glasgow Haskell Compiler

Logiciel capture d'écran:
Glasgow Haskell Compiler
Détails logiciels:
Version: 7.8.4
Date de transfert: 1 Mar 15
Développeur: Simon Marlow
Licence: Gratuit
Popularité: 184

Rating: 3.0/5 (Total Votes: 2)

Il supporte actuellement l'ensemble Haskell 98 langues et une grande variété d'extensions de langage

Caractéristiques :.

  • GHC a particulièrement bon support pour concurrence et parallélisme, y compris le soutien pour le logiciel transactionnel mémoire (STM).
  • GHC génère du code rapide, en particulier pour les programmes concurrents. Jetez un oeil à la performance de GHC sur Le Jeu repères Langage informatique, et quelques commentaires sur Haskell par l'organisateur actuel de la fusillade, Brent Fulgham.
  • GHC fonctionne sur plusieurs plates-formes, y compris Windows et la plupart des variétés d'Unix, et plusieurs différentes architectures de processeur. Il ya des instructions détaillées pour le portage GHC à une nouvelle plate-forme.
  • GHC a des capacités d'optimisation, y compris l'optimisation inter-module.
  • GHC compile le code Haskell soit en utilisant un compilateur C intermédiaire (CCG), ou par la génération de code natif sur certaines plates-formes. L'environnement interactif compile en bytecode Haskell, et soutient l'exécution du bytecode mixte / programmes compilés.
  • Le profilage est pris en charge, à la fois par le temps / l'allocation et divers types de profilage tas.
  • GHC est livré avec un large éventail de bibliothèques.

Quoi de neuf dans cette version:

  • Par défaut, GHC a permis un nouvel avertissement, -fwarn -typed-trous, ce qui provoque le compilateur pour répondre aux types de variables non liés qu'il rencontre dans le code source.
  • Il est maintenant possible de déclarer une famille «fermé» de type lorsque vous utilisez l'extension TypeFamilies.
  • GHC prend désormais en charge la surcharge liste littéraux utilisant la nouvelle extension de OverloadedLists.
  • GHC prend désormais synonymes de motif, permis par l'extension -XPatternSynonyms.

Ce qui est nouveau dans la version 7.6.2:

  • Un bug de longue date de typechecker qui a permis à unsafeCoerce être écrite a été corrigé.
  • Un bug a été fixé à l'origine à GHC parfois pas se rendre compte que recompilation était nécessaire.
  • Si les deux -H et un -M & # x3C; & # X3e taille; drapeau sont donné, GHC ne sera plus dépasser la taille maximale du tas.
  • Une erreur off-by-one, qui pourrait causer des erreurs de segmentation, analyse dans le drapeau RTS a été corrigé.
  • Divers bugs qui pourraient causer GHC de panique lors de la compilation de certains fichiers sources ont été corrigés.
  • Quelques bugs dans le type de contrôle et les DataKinds PolyKinds extensions ont été corrigés.
  • Performance des programmes compilés a été amélioré dans certains cas.

Ce qui est nouveau dans la version 7.6.1:

  • types polymorphes et la promotion de données sont maintenant entièrement mises en œuvre et fonctions prises en charge:. Section 7.8, & quot; Kind polymorphisme & quot;
  • de Windows 64 bits est maintenant une plate-forme supportée.
  • Il est maintenant possible de reporter les erreurs de type jusqu'à ce que l'exécution en utilisant l'-fdefer-Type-erreurs drapeau:. Section 7.13, & quot; Le report des erreurs de type au runtime & quot;
  • Le RTS prend désormais en charge la modification du nombre de capacités à l'exécution avec Control.Concurrent.setNumCapabilities:. Section 4.15.2, & quot; les options RTS pour SMP parallélisme & quot;

Quoi de neuf dans la version 7.4.2:.

  • hp2ps peut maintenant gérer obliques dans identifiants correctement
  • Correction d'un bug dans l'implémentation par défaut de PopCount dans Data.Bits.
  • Une condition de concurrence potentielle dans Control.Concurrent.Chan a été corrigé.
  • Un bug MVar qui pourrait causer des blocages a été corrigé.
  • Lorsque vous utilisez -fwarn-dangereux, GHC relève maintenant des extensions de langage dangereuses.
  • Les RTS non filetés évite désormais réveils lorsque le système est inactif.
  • Un bug provoquant un accident avec une très petite taille initiale de la pile a été corrigé.

Ce qui est nouveau dans la version 7.4.1:

  • Il est une nouvelle fonctionnalité Safe Haskell (-XSafe , -XTrustworthy, -XUnsafe): Section 7.23, & quot; Coffre-fort Haskell & quot ;. La conception a changé depuis 7.2.
  • Il est une nouvelle fonctionnalité type polymorphisme (-XPolyKinds): Section 7.8.1, & quot; Kind polymorphisme & quot ;. Un effet secondaire de ceci est que, lorsque l'extension ne est pas activé, dans certaines circonstances sortes sont maintenant par défaut à * plutôt que d'être déduites.
  • Il ya un nouveau type de contrainte de fonction (de -XConstraintKinds):. Section 7.10, & quot; Le genre de contrainte & quot;
  • Il est maintenant possible de donner une sorte de déclaration à l'invite de ghci:. Section 2.4.4, & quot; Type, classe et autres déclarations & quot;
  • Le profilage et HPC implémentations ont été fusionnés et révisés. Changements visibles comprennent renommer des drapeaux de profilage et les piles de centre de coûts ont une nouvelle sémantique, qui devrait dans la plupart des cas, entraîner des profils plus utiles et intuitive. Le drapeau -xc + RTS maintenant donne également une trace de la pile.
  • Il est maintenant possible d'écrire des plugins de compilation:. Section 9.3, & quot; Compiler Plugins & quot;
  • Support DPH a été considérablement améliorée.
  • Il est maintenant un support préliminaire pour la compilation registerised sur la plateforme ARM, en utilisant LLVM.

Ce qui est nouveau dans la version 7.0.4: x86

  • Un flottant régression affectant 7.0.3 a été fixé.
  • Le lieur GHCi gère maintenant les fichiers d'objets partiellement dénudées. Cela corrige le chargement du package ghc dans ghci quand il a été dépouillé, qui est souvent le cas dans des emballages de distribution Linux.
  • Un bug qui a causé de mauvais résultats de getCPUTime, getClockTime et getCurrentTime a été corrigé.
  • Un bug du système d'exécution avec de grands tas a été corrigé.
  • Un bug du système d'exécution lorsque tas profilage a été corrigé.
  • Un bug du système d'exécution lorsque tas profilage a été corrigé.
  • Un bug du système d'exécution, qui a causé des résultats incorrects et des erreurs de segmentation lors de l'utilisation des rappels FFI, a été corrigé.
  • Un bug du système d'exécution, ce qui a parfois causé des programmes parallèles à & # x3C; & # x3C; & # boucle X3e; & # X3e; lors de l'utilisation -feager-blackholing, a été corrigé.
  • autorisations de répertoire incorrect lors de l'installation ont été corrigés.
  • Certaines améliorations ont été apportées à la nouvelle prise en charge de suite de tests Cabal.
  • Cabal est maintenant 1.10.2.0 (était 1.10.1.0).

Ce qui est nouveau dans la version 7.0.2:

  • Compiler:
  • Le vieux [$ foo | ... |]. Syntaxe fonctionne encore, mais elle est obsolète
  • Il ya eu improvments importants pour le nouveau type checker.
  • GHCi:
  • Chargement .a bibliothèques est désormais possible sur toutes les plateformes. Une bibliothèque .o sera toujours utilisé par préférence si les deux existent. GHCi ne sera plus en garde de manquer .o bibliothèques.
  • Nous terminons maintenant .ghci fichiers après les avoir lues, qui sur les machines Windows leur permet d'être modifiés tout GHCi est en marche.
  • Il est maintenant possible de:. Unset les variables de ghci (args, prog, rapide, rédacteur en chef et l'arrêt)

  • Système
  • Durée:
  • DTrace est désormais pris en charge sur Solaris, en plus d'OS X.
  • Système Physique:
  • OS X se appuie sur 10,6 travaillent maintenant à la fois sur 10.5 et 10.6.
  • installations de Windows incluent désormais l'libstdc ++ DLL.
  • Haddock:
  • GHC vient maintenant avec l'aiglefin 2.9.0.
  • GHC comprend maintenant des bases de données Hoogle pour les bibliothèques.

Quoi de neuf dans la version 7.0.1:

  • Sur les plateformes POSIX, il est une nouvelle I / gestionnaire de O sur la base epoll / kqueue / sondage, qui permet multithread Code E / S à l'échelle à un nombre beaucoup plus grand (100k +) de fils.
  • GHC comprend désormais un générateur de code LLVM. Pour certain code, en particulier l'arithmétique Code lourde, en utilisant le générateur de code LLVM peut apporter quelques améliorations de performances agréable.
  • Le vérificateur de type a été révisé, ce qui signifie qu'il est maintenant capable de gérer correctement les interactions entre les extensions de système de type.
  • La gaine a été remanié, qui devrait en général donner de meilleures performances tout en réduisant inutiles explosion taille de code.
  • De grandes parties du système d'exécution ont été révisés, en particulier les machines liées au blocage et réveil de fils et exception lancer (throwTo). Plusieurs cas de rendement pathologique ont été fixés, en particulier où un grand nombre de fils sont impliqués.
  • En raison de changements dans le système d'exécution, si vous utilisez Control.Parallel.Strategies de l'emballage parallèle, se il vous plaît mettre à jour au moins la version 2 (de préférence la version 3). La mise en œuvre des stratégies en parallèle-1.x perdra parallélisme avec GHC 7.0.1.

Logiciel similaire

Traceur
Traceur

1 Oct 15

Coco
Coco

5 Jun 15

Scala.js
Scala.js

10 Dec 15

#Smalltalk
#Smalltalk

21 Jul 15

D'autres logiciels de développeur Simon Marlow

Commentaires à Glasgow Haskell Compiler

Commentaires non trouvées
Ajouter un commentaire
Tourner sur les images!
Recherche par catégorie