Next: イントロダクション


モナドのすべて
Haskell におけるモナドプログラミングの理論と実践に関する包括的ガイド
Version 1.1.0

このチュートリアルは、モナドの概念とその関数プログラミングにおける応用に ついて、初中級の Haskell プログラマにわかりやすく、利用価値があるような 解説をすることを旨としています。読者は Haskell になれていることを前提と しますが、モナドに関する経験は要求していません。このチュートリアルは、多 くの題材をカバーしています。後半のセクションでは、前半の題材をよく理解し ていることを前提とします。順をおって、モナドプログラミングを例示するため のサンプルコードがたくさん用意されています。一読で、すべての題材を吸収し ようというのはお勧めできません。

このチュートリアルは 3 つの部分で構成されています。最初の部分は、 関数プログラミングにおけるモナドの基本的な役割についての理解を目指します。 どのようにモナドを操作するか。Haskell では、どのように宣言し、どのように 使うのかということを学びます。2 番目の部分は、Haskell の標準的モナドを カバーします。モナドの定義を与え、モナドの使いかたについて議論します。 最後 3 つ目の部分は、モナド変換子に関連する高度な題材とモナドを使って プログラミングする場合にでくわす現実的な問題をカバーします。

このチュートリアル全体は、 tgz 形式のアーカイブファイルあるいは zip 形式のアーカイブでダウンロードできます。

ほんとうにモナドを理解するには、モナドを使ったコードを経験することが最良 の方法です。このチュートリアルでは、単純なものからほどよく複雑なものまで、 たくさんのコード例が用意されています。これら のコードを研究し、遊んだり、変更したりしてみることをお勧めします。 残念ながら、最初の方の例は複数のモナドの合成にまつわる問題を避けるた めに不自然なものにせざるをえませんでした。コード例をいじるのにこの 制約がうっとうしければ、III部でこの問題がどのように克服されているかを先 に見てください。

英語原文についてのコメント、訂正、示唆はなんでも Jeff Newbern jnewbern@yahoo.com へ。
[この翻訳文は原著者の承諾を得てここで公開しているものです。この翻訳文へ の感想、誤りの指摘などは、 こちらまでお願いします。]

目次

第 I 部:モナドを理解する

第 II 部:標準的モナドのカタログ

第 III 部:現実のモナド

Appendices


Next: イントロダクション