Haskell Platform 2011.2.0.0 リリース

113 views
Skip to first unread message

shelarcy

unread,
Mar 10, 2011, 5:14:54 PM3/10/11
to haskell-jp
こんにちは。

待望の Haskell Platform 2011.2.0.0 がリリースされました。

http://hackage.haskell.org/platform/

今回のリリースでは GHC 7.0.2 の Windows 版バイナリと Mac OS X 版バイナリにあったドキュメントのバグを独自に修正し
ています。

http://hackage.haskell.org/trac/ghc/ticket/4975
http://hackage.haskell.org/trac/ghc/ticket/4997

というわけで、Windows または Mac OS X を使うという方は、GHC 7.0.2 ではなく Haskell Platform
2011.2.0.0 をインストールして使った方が良いでしょう。

今回のリリースで大きく変わったところは、以下の通りです。


* Mac OS X 版でも統合インストーラーを提供

今回のリリースから前回までの dmg に GHC 7.0.2 と Haskell Platform のインストーラーを同梱する形式ではなくな
り、Windows 版同様、単一の統合インストーラーになりました。もはや、Haskell Platform をインストールする前に GHC を
予めインストールしておく必要はありません。Haskell Platform のインストーラーを使うと、GHC と Haskell
Platform が同時にインストールされます、

あと、インストール直後に開かれる /Library/Haskell/doc/start.html に使用上の注意がいくつか書いてあるので、そち
らも参照してください。


* GHC 7.0.2

付属する GHC のバージョンが 7.0.2 に更新されました。GHC 7.0.1 の変更と 7.0.2 の変更については過去のメールで紹介し
ていますので、そちらを参照してください。

http://www.sampou.org/cgi-bin/w3ml.cgi/haskell-jp/msg/595
http://groups.google.com/group/haskell-jp/browse_thread/thread/da92dc3cea613d5b


このうち INLINEABLE 指示文については誤解させるような説明になっていたので、後で書いた補足のメールを参照してください。

http://www.sampou.org/cgi-bin/w3ml.cgi/haskell-jp/msg/600


また、非同期例外 API の変更については連載記事で詳細に説明しましたので、そちらを参照した方が良いと思います。

http://itpro.nikkeibp.co.jp/article/COLUMN/20110112/355997/?ST=develop&P=4


* cabal-install 0.10.2

cabal install コマンドにローカルなファイルやディレクトリ、URL で示されるネットワーク上のファイルなどを指定してインストールす
るための変更が加わりました。

 http://hackage.haskell.org/trac/hackage/ticket/524
http://www.haskell.org/pipermail/cabal-devel/2011-February/007251.html

また、パッケージの開発のために、「パッケージそのものはインストールせずに、依存パッケージだけをインストールする」ための -only-
dependencies オプションが新たに加わりました。

http://www.haskell.org/pipermail/cabal-devel/2011-February/007240.html

cabal upgrade コマンドが取り除かれ、cabal install コマンドの --upgrade-dependencies オプ
ションに変わりました。移行のため、cabal upgrade コマンドを使おうとすると、代わりに cabal install --
upgrade-dependencies を使えというエラーメッセージが出るようになったそうです。

http://www.haskell.org/pipermail/cabal-devel/2010-May/006394.html

あと GHC などの処理系を更新したり、複数のバージョンの GHC を使っている場合などに、手軽にパッケージを再構築するための world と
いうターゲットが追加されました。

# cabal install world

のように指定することで、これまで cabal install コマンドを使って HackageDB から取得・インストールしたのと同じパッケー
ジを入れることができます。

http://www.haskell.org/pipermail/cabal-devel/2010-May/006297.html
http://hackage.haskell.org/trac/hackage/ticket/199

world で勝手に再インストールして欲しくないパッケージについては、--one-shot オプションをつけてインストールして下さい。

# cabal install foo --one-shot

なお、パッケージを複数回入れたことで制約に矛盾が生じた場合には、制約を無視するそうです。

http://www.haskell.org/pipermail/cabal-devel/2010-May/006302.html

world の情報は cabal の world ファイルに保存されているので、world ファイルを直接書き換えることで変更することもできる
と思います。

他にもいくつか変更されています。darcs repository に ChangeLog があるので、そちらも参照してください。

http://darcs.haskell.org/cabal-install/changelog


* transformers パッケージと mtl 2.0

Haskell Platform 2011.2.0.0 に新しく付属してくる mtl-2.0.1.0 では、これまでの mtl の定義を各種モ
ナド/モナド変換子を提供する transformers パッケージと、(MonadIO クラスを除き)MonadState クラスなどの型クラ
スインターフェースを提供する mtl 2.0 に分割しました。これからは「mtl の提供する型クラスは必要とせず、モナドだけを必要とする」場合
には、mtl ではなく、transformers パッケージだけに依存するようなコードを書くと良いでしょう。

なお、mtl 2.0 のリリースに伴い、mtl 2.0 と同様の形でインターフェースを分けることを目的に開発されていた monads-fd
パッケージは非推奨化されました。もし monads-fd パッケージに依存している cabal パッケージがあるなら、mtl 2.0 に依存す
るよう書き換えてください。

http://hackage.haskell.org/package/monads-fd

transformers パッケージでは、これまで mtl パッケージでは提供されてこなかった MaybeT モナド変換子なども新たに提供され
ています。こうした新しい Monad クラスのインスタンスや Functor クラスのインスタンスを見てみるのも良いでしょう。

http://hackage.haskell.org/package/transformers
http://hackage.haskell.org/packages/archive/transformers/0.2.2.0/doc/html/Control-Monad-Trans-Maybe.html


* text パッケージ

text パッケージが新しく追加されました。text パッケージは、日本語などの Unicode 文字を含むような文字列に対する処理を高速に行
うためのライブラリです。これからは Unicode 文字を含む文字列に対しては text、Unicode 文字を含まないテキストに対しては
bytestring という感じでライブラリを使い分けていくと良いでしょう。

http://hackage.haskell.org/package/text
http://itpro.nikkeibp.co.jp/article/COLUMN/20110201/356705/?ST=ittrend&P=6

なお、textパッケージでは「文字列の切り分けを行う」 split* 関数や「文字列の置換を行う」 replace 関数のような文字列処理を行
うのに欠かせない関数も提供しています。特に高速化が必要なくても、高機能な文字列処理ライブラリとして使ってみると良いと思います。

http://hackage.haskell.org/packages/archive/text/0.11.0.5/doc/html/Data-Text.html#g:18
http://hackage.haskell.org/packages/archive/text/0.11.0.5/doc/html/Data-Text.html#v:replace


* QuickCheck 2.4.0.1

QuickCheck 2 になってから長らく欠けていた verboseCheck が復活しました。これで verboseCheck がなくて
困っていた方も安心して使えると思います。

http://hackage.haskell.org/packages/archive/QuickCheck/2.4.0.1/doc/html/Test-QuickCheck.html#v:verboseCheck

また、Test.QuickCheck.All に新しく Template Haskell で実装された quickCheckAll 関数が加わ
りました。ソースコードの冒頭に以下のように記述しておくことで、quickcheck-script などを使わなくても prop_ の接頭辞のつ
く関数を自動で走らせることができます。

> {-# LANGUAGE TemplateHaskell #-}
> main = $(quickCheckAll)

ただし、verboseCheckAll という関数はまだ提供されていません。verboseCheck が必要なら、まだ quickcheck-
script などが必要です。

あと、Test.QuickCheck.Monadic に monadicST という関数が追加されて、ようやく QuickCheckM の機能
がまともに使えるようになったみたいです。(ただし、これまでの QuickCheck 2 での API から一部型クラスが取り除かれました。)


* parsec 3.1.1

収録されている paserc パッケージがようやく parsec 3 系に更新されました。

http://hackage.haskell.org/package/parsec


* network 2.3.0.2

newtork パッケージに network-bytestring パッケージが統合されました。これに伴い network-
bytestring パッケージは非推奨化されたので、network-bytestring パッケージを使っていた方は network パッ
ケージを使うよう書き換えてください、

http://hackage.haskell.org/package/network
http://hackage.haskell.org/package/network-bytestring

--
shelarcy <shelarcy hotmail.co.jp>
http://page.freett.com/shelarcy/

shelarcy

unread,
Apr 16, 2011, 12:08:44 AM4/16/11
to haske...@googlegroups.com
こんにちは。

Haskell Platform 2011.2.0.1 がリリースされました。

http://hackage.haskell.org/platform/

今回は GHC を 7.0.3、text を 0.11.0.6 に更新したマイナー・バージョンアップ版です。

GHC 7.0.3 では 7.0.2 にあったバグをいくつか修正しているので、(特に Mac OS X ユー
ザーは)この機会に Haskell Platform を更新すると良いと思います。

http://www.haskell.org/ghc/docs/7.0.3/html/users_guide/release-7-0-3.html


少し残念なことに、Haskell Platform のリリース準備と前後して text 0.11.0.7 が出て
しまったため、同梱されている text パッケージは最新版ではありません。

http://hackage.haskell.org/package/text-0.11.0.7

最新版を使いたい方は、必要に応じて text を更新してください。

Reply all
Reply to author
Forward
0 new messages