この章ではHaskellでコードを書くときに必要となるプログラムのインストール方法について説明する。
Haskellはプログラミング言語、人が計算機がどう振る舞うべきかをを表せる言語である。 料理のレシピを書くような感じで、あなたがレシピを書いて計算機がレシピを実行してくれる。
Haskellのプログラムを使うためには、Haskellコンパイラと呼ばれる特別なプログラムが必要である。コンパイラはHaskellで書かれたコードを受け取って計算機が理解出来るより原始的な言語である機械語に翻訳する。 (機械が理解出来るのが機械語で、(設計さえやれば)バイナリである必要は無くBrainf*ckでも機械語になりうる という話も)
上の料理の例えを使えば、あなたがレシピなるHaskellプログラムを書いて、料理人にあたるコンパイラプログラムが実際の材料を合わせて食べられる料理にあたる実行可能ファイルを作る作業をするのである。もちろん、完成した料理から簡単にはレシピを知ることは出来ない、つまり コンパイル後は実行可能ファイルからHaskellのコードを知ることが出来ない。
Haskell学習を始めるためにHaskellプラットフォームをダウンロードしインストールする。中には"Glasgow Haskell Compiler"略してGHCと他の必要なものすべてが入っているだろう。
もしただHaskellを試してみたいとか完全なコンパイラをダウンロード、インストールするのが 嫌ならHugsが使える。もしくはオンライン管理のインタプリタであるTryHaskellで遊んでみるのもいいかもしれない。 なお、この本での説明ではすべてGHC用になる。 (Ideoneでもオンラインで実行できる)
|
補足 UNIXユーザーへ(他の人は飛ばして良い): GHCについてはソースからコンパイルするのはお薦めしない。特に初回のインストールにはお薦めしない。GHCはそれ自身がほとんどHaskellで書かれているのでソースから人力でブートストラップを試みるのはとても技が混む。その上、ビルド作業は実に時間が掛かり大量の記憶領域を消費する。それでも本当にGHCをソースからビルドしたいのならBuilding and Porting GHC at the GHC homepage(GHCのホームページにあるGHCのビルドと移植)を参照のこと。(もちろんのことだが、それらに加えて英文読解という壁がある) 短くまとめるとソースからコンパイルする代わりにHaskell Platformをダウンロードすることを強く薦める。 |
Haskell Platformをインストールした後は、初めてのHaskellのコードを書く時である。
そのために、GHCi(iは'interactive'の略)と呼ばれるプログラムを使う。やり方はOSによって以下の通り:
ghciと入力しもう一度Enterキーを押す
(Windows 8ではスタートメニューからアプリ一覧を出し右上のボックスに'cmd'と入力)
(cmdのところにghciでも可)
ghciと入力しEnterキーを押す
すると以下の様なのが出力されるはずである:
GHCi, version 7.6.3: http://www.haskell.org/ghc/ :? for help Loading package ghc-prim ... linking ... done. Loading package integer-gmp ... linking ... done. Loading package base ... linking ... done. Prelude>
最初の部分はGHCiのバージョンである。そして次に基本パッケージを読み込んでいること伝えている。なのでGHCに付属する組み込み関数やモジュールのほとんどがつかえる。最後に、Prelude>の部分はいわゆるプロンプトである。ここの部分にコマンドを入力して、GHCiが結果を返す。
(Preludeは前置きといったところ)
これで初めてのHaskellのコードを書く準備は整った。特に今回は基本的な計算をやってみよう:
Prelude> 2 + 2 4 Prelude> 5 + 4 * 3 17 Prelude> 2 ^ 5 32
Haskellの演算子は他の言語のそれと似ている、具体的には+は加算、*は乗算、^べき乗(a ^ b)である。注目すべき点として2番目の例でHaskellは標準的な演算順序にの則って計算している。(掛け算は足し算より先 ということ)
これで、Haskellを電卓として使うことが出来る。実のところ、Haskellはいつも基本的には電卓なのである、しかしながらとても強力で数字以外のオブジェクトー文字やリストや関数や木や他のプログラムまでも―も扱える。(ここで出てきた用語に慣れていなくても心配しなくてよい)
GHCiはとても強力な開発環境である。この本が進むに連れ、ソースコードの入ったファイルをGHCiに読み込ませ、ファイルの別々の部分を評価する方法を学ぶ。
|
補足 ここで「評価」という言葉が出てきたので説明を入れておくと、Lisp界隈では実行のことをよく「評価」という。そしてHaskell共和国はLisp国と陸続きである。(Conrad Barski, M.D.談) |
今のところ全部理解しているのなら次の章へ準備ができている。次章では初めての関数に沿ってHaskellの基本的な概念をいくらか紹介していく。(理解していない人はトークのページを使ってこのWikibookを改善するのに力を貸して)(といっても小生には質問しないで)