アットウィキロゴ

Wikibooks:Haskell勝手に日本語訳

Haskell-logo.png

このページはWikibooksのHaskellのページ(英語版)の日本語訳である。 なぜ日本語版に上げないのかというと、書き言葉で訳せる気がしないということと、 私自身がHaskell初心者でこれを書きながら学ぼうと思っているからである。

元がクリエイティブ・コモンズ 表示 - 継承 3.0(CC BY-SA 3.0)なので、これもCC BY-SA 3.0 となります。

Haskell関数型言語である。もしプログラミングの経験があるのなら、 概要を見て、Haskellがどのように動くのかをいくらか見、他の言語とどう違うかを見てみよう。

Haskellは幾らかの点に置いて他と異なっている:

  • Haskellは純粋関数型言語である。もし同じ関数を同じ引数で2回違うところで呼び出すと、2回とも全く同じ値を返す。(参照透過性という)
  • Haskellはtypeclassやgeneralized algebraic data typesと言った(それぞれ型クラス、一般代数データ型といったところか)洗練された特徴を持つモダンな型付けシステムを提供する。(このような用語はすぐに滑らかに口から出るようになる)
  • Haskellは遅延型つまり最終的な結果を得るために必要なときだけ計算をする言語でもある。

(modernをカタカナで訳すのはコンピュータ界隈ではよくある話。対義語の古いって言ってもだいたい20世紀だったりするからかと)

純粋な関数だけを取り扱ってコードをずっと簡単に理解し、それぞれの関数の正しさを解析し、証明しさえするのが簡単になるからHaskellプログラマはHaskellを享受するのである。その上、先進的な型システムが馬鹿げた間違い、真面目な間違い両方を見つけるのを助けてくれる。

この本では、Haskellのとても初歩的なところから先の特徴までと、コンピュータプログラミング一般両方について紹介することを目標にしている。経験のあるプログラマにはこの工程に大いに辛抱強くいてもらいたい。絶対に、最も慣れ親しんだ言語はHaskellを大いに異なっていて、 君たちの言語からの習慣がHaskellの仕組みを理解するのの障壁になるかもしれない。仕組みは単純なのだが異なるのだ。離れていて数学的な関数型プログラマの頭を通して世界を見るための学習を重要なことを理解していかなる言語の境界を遥かに超えたところへもたらしてくれる、素晴らしい新しい世界での冒険として捉えてほしい。

概要

この本は初級編、中級編、より最近の問題を取り扱う実践編に分かれている。実践編ではほとんど初心者編で習ったことのみ使う。

(ここにページ作成に貢献するように説得する文章が書いてある)

本家ではプロンプトの場合は実線の枠、ソースファイルの場合は点線枠の囲いがあったが、@wikiでは点線枠が出せそうにないのでそれぞれ赤枠(行頭スペース)、青枠(blockquoteタグ)で代用している。

初級編

Haskell/変数と関数 Haskellの基本といくつかのよく使われるライブラリで単純なプログラムが作れるようになる。

ほとんどの章には理解度を調べるために役立つ演習問題がある。それぞれの章の最後に解答のリンクが貼ってあるので、知識の正確さを確かめたり、行き詰まった時に答えを知ることができるようになっている。

Haskellの基本

Haskell初級第一

Haskell初級第二

モナド

中級編

This section introduces wider functional programming concepts such as different data structures and type theory. It will also cover more practical topics like concurrency.

Haskell中級

型で遊ぶ

Wider Theory

Haskell Performance

Haskell in Practice

Day-to-day issues of working with Haskell include items such as knowing the standard libraries, building graphical interfaces, and working with databases. You should be able to jump directly to this section from the beginner's track.

Libraries Reference

General Practices

Specialised Tasks

Appendices

/Syntactic sugar/
Answers to exercises
Authors and Acknowledgements

About the book

/Notes for contributors/
/Style conventions/
/To do/
Templates for the Haskell wikibook
Experimental Modules
List of topics

Other Haskell tutorials

  • Haskell Meta-tutorial - the tutorial to find other tutorials
  • Learn You a Haskell for Great Good - Tutorial aimed at beginners who may have experience in imperative programming languages but haven't programmed in a functional language before. Freely available online under a CC-BY-NC-SA license; also released as a conventional book.
  • Real World Haskell - an O'Reilly book, available online at no charge (CC-BY-NC license). Built around case studies of practical applications.
  • Write Yourself a Scheme in 48 Hours - (imported here) 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 here) is aimed at beginners and takes a practical approach to things.

Additional resources

Template:status

最終更新:2014年09月18日 13:54
添付ファイル