これは、現在全体のHaskell 98言語と言語拡張を幅広くサポートしています。
の特長の:ます。
- GHCがありますソフトウェアトランザクショナルメモリ(STM)のサポートを含め、並行性と並列処理のために特に良いサポート、します。
- GHCは特に並行プログラムのために、高速なコードを生成します。銃撃戦の現在の主催者、ブレントFulghamすることにより、コンピュータ言語のベンチマークゲーム上のGHCのパフォーマンスを見てみましょう、とHaskellの上のいくつかのコメントます。
- GHCはWindowsとUnixのほとんどの種類、およびいくつかの異なるプロセッサアーキテクチャを含むいくつかのプラットフォームで動作します。新しいプラットフォームへのGHCを移植するための詳細な手順があります。
- GHCはモジュール間最適化を含む大規模な最適化機能を持っています。
- GHCは中間のCコンパイラ(GCC)を使用して、またはいくつかのプラットフォーム上でネイティブコードを生成することにより、いずれかのHaskellのコードをコンパイルします。インタラクティブな環境は、バイトコードにはHaskellをコンパイル、および混合バイトコード/コンパイルされたプログラムの実行をサポートしています。
- プロファイリングは、両方の時間/割り当てとヒーププロファイリングの様々な種類によって、サポートされています。
- GHCはライブラリの広い範囲が付属しています。
のこのリリースのの新機能:
- デフォルトでは、GHCは新しい警告が、-fwarnを有効にしているコンパイラは、ソースコードで発生した、結合していない変数の型で応答させ-typedホール、します。
- それはTypeFamilies拡張機能を使用するときに「閉じた」タイプの家族を宣言することが可能になりました。
- GHCは現在、新しいOverloadedLists拡張機能を使用してリストリテラルの過負荷をサポートしています。
- GHCは今-XPatternSynonyms延長で有効になったパターン同義語を、サポートしています。
のバージョン7.6.2でのの新機能:
- unsafeCoerceが許可長年の型検査器のバグ書き込みが修正されています。
- バグがGHCが時々再コンパイルが必要だったことを認識しないために問題が修正されました。
- もし-Hおよび-M&#x3c両方、サイズ&#Spark Proの。フラグが与えられている場合、GHCはもはや最大ヒープサイズを超えることはありません。
- Off-by-oneエラーは、RTSフラグの解析で修正されています。
- さまざまなバグが修正されました。
- はDataKindsとPolyKinds拡張をチェックするタイプのいくつかのバグが修正されています。
- はコンパイルされたプログラムのパフォーマンスがいくつかのケースでは改善されています。
セグメンテーション違反を引き起こす可能性が
特定のソースファイルをコンパイルするときにGHCがパニックを引き起こす可能性が
バージョン7.6.1にの新機能である
の
- 多形の種類やデータのプロモーションは現在、完全に実装され、サポートされている機能:7.8節、&QUOT、種類の多型" 。
- のWindows 64bit版に対応しましたプラットフォームです。
- それは-fdefer型·エラーのフラグを使用して実行時まで型エラーを延期することが可能になりました:セクション7.13、&QUOT、ランタイムために型エラーを延期" 。
- RTSは今Control.Concurrent.setNumCapabilitiesで、実行時に機能の数を変更するサポートしています。セクション4.15.2、&QUOT、SMP並列&QUOTのためのRTSオプション;
のバージョン7.4.2でのの新機能:
- hp2psは正しく識別子でバックスラッシュを処理することができます<。 / LI>
- Data.BitsでPOPCOUNTのデフォルトの実装にバグを修正します。
- Control.Concurrent.Chanにおける潜在的な競合状態が修正されています。
- はデッドロックを引き起こす可能性がMVARのバグが修正されています。
- 、GHCは現在、安全でない言語拡張をレポートします。
- 非スレッドRTSは今ウェイクアップを回避できます。
- は、非常に小さな初期スタックサイズでクラッシュを引き起こすバグが修正されています。
- は新しい機能種類多型(-XPolyKinds)があります。セクション7.8.1、&QUOT、種類の多型&QUOT ;.これの副作用は、拡張子が有効でない場合、特定の状況下で種類は今*にデフォルト設定されているのではなく、推測されている、ということです。
- 新しい機能拘束種類(-XConstraintKinds)がある:7.10、&QUOT、制約の種類&QUOT; 。
- はGHCiのプロンプトで宣言の任意の並べ替えを与えることができるようになりました:2.4.4、&QUOT;タイプ、クラスおよび他の宣言&QUOT; 。
- プロファイリングおよびHPC実装が合併し、オーバーホールされました。目に見える変化は、プロファイリングのフラグの名前の変更を含み、コストセンタースタックは、ほとんどの場合、より便利で直感的なプロファイルをもたらすべき新たなセマンティクスを、持っている。 + RTS -xcフラグは今もスタックトレースを示します。
- これは、コンパイラプラグインを書くことができるようになりました。セクション9.3、&QUOT;コンパイラプラグ&QUOT; 。
- DPHのサポートが大幅に改善されています。
- ARMプラットフォーム上でregisterisedコンパイルの予備サポートはLLVMを使用して、用意されました。
-fwarn-危険を使用する場合は
システムがアイドル状態のとき、
新機能安全ハスケル(-xsafeがあります。
のバージョン7.4.1でのの新機能である、-XTrustworthy、-XUnsafe):セクション7.23、&QUOT、安全ハスケル&QUOT ;.デザインは、7.2以降に変更されたします。
のバージョン7.0.4でのの新機能:
- のx86に影響を与える7.0.3の浮動小数点回帰修正されています。
- のGHCiリンカは部分的に取り除かれたオブジェクトファイルを処理します。これは、それがLinuxディストリビューションパッケージでよくあるケースである、剥離されだときGHCiの中でGHCパッケージをロードする修正されています。
- getCPUTime、getClockTimeとgetCurrentTimeから悪い結果を引き起こしたバグが修正されました。
- 大ヒープとランタイムシステムのバグが修正されています。
- ランタイムシステムのバグします。
- ランタイムシステムのバグします。
- ランタイムシステムのバグが修正されました。
- ランタイムシステムのバグ、;&#のx3c、ループ&#Spark Proの;&#のSpark Proの。 -feager-ブラックホールを使用している場合、修正されています。
- 誤ったディレクトリのパーミッションを修正しましたインストールします。
- いくつかの改善は、新たな陰謀テストスイートのサポートが行われています。
- 派閥は今1.10.2.0です(1.10.1.0あった)します。
ヒーププロファイリングは修正されました
ヒーププロファイリングは修正されました
FFIのコールバックを使用した場合、誤った結果とセグメンテーションフォールトを引き起こした
時折並列プログラムは、#のx3cを&せ
のバージョン7.0.2でのの新機能:
- コンパイラ:
- 古い[$ fooの| ... |]構文再び動作しますが、廃止されてます。 。
- は新しい型チェッカーを大幅にも改善がなされているます。
- GHCiの:
- 読み込み中すべてのプラットフォームで可能になりました。両方が存在する場合に.oライブラリは依然として好ましく使用される。 GHCiはもはやの.oライブラリが不足しているについて警告しません。
- 我々今近い.ghciファイルそれらを読んだ後、
- それはできるようになりました:未設定GHCiの変数(引数、PROG、プロンプト、編集者および停止)します。 。
- ランタイムシステム:
- DTraceは今のOS Xに加えて、Solarisでサポートされています。
- ビルドシステム:
- OS Xは10.6に基づいています今10.5と10.6の両方で動作します。
- Windowsインストールは、現在のlibstdc ++のDLLを含めるします。
- ハドック:
- GHCは現在、ハドック2.9.0が付属しています。
- GHCは現在、ライブラリのhoogleデータベースが含まれます。
図書館.A
WindowsマシンでGHCiの実行中に変更されるためにそれらを可能にます。
のバージョン7.0.1でのの新機能は次のとおりです。
- POSIXプラットフォームでは、新しい私はそこにある/マルチスレッドI / Oコードはスレッドの非常に大きな数(100K +)への拡張が可能ファイルディスクリプタ/ kqueueに/世論調査に基づいて、Oマネージャます。
- GHCは現在、LLVMコードジェネレータが含まれています。特定のコード、特に算術重いコードについては、LLVMコードジェネレータを使用すると、いくつかの素晴らしいパフォーマンスの向上をもたらすことができます。
- は型チェッカーは、それが正しく型システムの拡張の間の相互作用を扱うことができることを意味し、オーバーホールされています。
- インライナーが不要なコードサイズの爆発を削減しながら、一般的に良い性能を与えるべきか、オーバーホールされています。
- は、ランタイムシステムの大部分は、特定の機械は、ブロッキングとスレッドと例外投げ(throwTo)のウェイクアップに関連する、オーバーホールされました。病理学的なパフォーマンスのいくつかのインスタンスは、多数のスレッドが関与している、特にどこに、修正されています。
- は原因ランタイムシステムの変化に、少なくともバージョン2(好ましくはバージョン3)にアップグレードしてください。並列-1.xで戦略の実装では、GHC 7.0.1で並列性を失うことになるます。
あなたはパラレルパッケージからControl.Parallel.Strategiesを使用している場合、
コメントが見つかりません