Haskell

出典: フリー教科書『ウィキブックス(Wikibooks)』
移動: 案内検索

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

Haskell :: Functional Programming with Types[編集]

Haskell-logo.png

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

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

さて、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[編集]