Wikipedia
ウィキペディアHaskellの記事があります。

情報技術 > プログラミング > Haskell

Haskell :: Functional Programming with Types編集

Haskell関数型言語である。他のプログラミング言語を触ったことのある読者なら、Haskellのやり方は他の言語とは多少異なっていることが分かるだろう。

Haskellの独自性は二つある。一つは「純粋」関数型言語であることである。純粋関数型言語では、同じ関数を同じ引数で呼び出したならば、必ず同じ戻り値になることが保証されている。二つめはHaskellが極めて現代的な、型理論を備えていることである。Haskellでは型クラスや代数的データ型といった型を扱うことができる。これらの難解な概念は、今は全く理解できないだろうが、この本を読み終えた後にはより身近なものに感じられるだろう。

さて、Haskellerたちはこの言語のどこに気に入ったのだろうか。ユニークで、新しい感じがするからだろうか。しかし、Haskellの最も優れた性質は、純粋関数のみによって書かれていることで、プログラムを容易に理解でき、プログラムの正しさを簡単に示せることである。さらに、すぐれた型システムは、誤ったプログラムの修正にも良さを発揮する。単純なミスだけでなく、根の深い、厄介な問題の解決にも役立つ。

この本では、Haskellおよび、プログラミング一般に関するトピックを扱う。熟練プログラマの読者は、最初の間はちょっと辛抱して読み進めて欲しい。Haskellは読者が慣れ親しんできたであろう他の言語のほとんどと全く異なっており、他の言語での積み上げてきた習慣がかえって理解の妨げになるかもしれない。Haskellの仕組みは、単純だが、他の言語とは異なっているのだ。他の言語でのプログラミング経験のある読者は、以前とは全く異なる世界、複雑な対象への巧みなプログラミングと、関数型プログラマの数学的思考法の世界を探検するつもりでいてほしい。

はじめに編集

この本は3つの部分、初級教程、上級教程、実用プログラミングのセクションからできている。実用プログラミングの項目では、実際の場面で使うプログラミングの方法について解説する。これは初級教程だけの知識で読むことができる。

初級教程編集

このセクションでは、Haskellの最も基本的な部分と、頻繁に利用するライブラリを紹介する。この教程によって、単純なプログラムを書くことができるようになる。ほとんどの章には演習問題があり、新しく学んだ知識について練習することができる。解答つき。

Haskellの基本編集

Haskell - 初級編集

Haskell - 中級編集


モナド編集

上級教程編集

このセクションでは、関数型プログラミング言語Haskellの扱う様々な理論的概念を紹介する。型理論、データ構造の解説に加えて、プログラムの並行性といった実用的な議論もここで行う。

Haskell - 上級編集


型のいろいろ編集


より広い理論編集


Haskellの高速化編集


Haskellで実用プログラミング編集

このセクションでは、より実際の問題をプログラミングする場面で必要になる、標準ライブラリの使い方やGUIの作り方、データベースへの接続といった内容を解説する。

Libraries Reference編集

General Practices編集

Specialised Tasks編集

Appendices編集

Answers to exercises
Authors and Acknowledgements
Experimental Modules
List of topics
Notes for contributors
Syntactic sugar
Templates for the Haskell wikibook
To do

Alternate tutorials編集

  • Haskell Meta-tutorial - the tutorial to find other tutorials
  • 48時間でSchemeを書こう - (imported) An alternate approach to teaching Haskell (and perhaps Scheme), aimed at a more advanced audience (though not necessarily one that knows how to program!)
  • Yet Another Haskell Tutorial - (imported) is aimed at beginners and takes a practical approach to things. It is now part of this wikibook and will eventually be mixed in to the main text.

Additional resources編集