Haskell/Getting set up
本章の手順にしたがい、必要なプログラムをインストールすることで、Haskellでコーディングを開始できるようになる。
Haskellのインストール[編集]
Haskellは「プログラミング言語」である。つまり、人間がコンピュータに指示を与えるときに使う言語である。 ちょうど、料理のレシピを書くのに似ている。あなたはプログラミング言語をつかってレシピを書き、コンピュータがそれを実行するのである。
Haskellで書かれたプログラムを利用するには、別の特別なプログラムが必要である。それは、Haskell「コンパイラ」と呼ばれるものである。コンパイラは、Haskellで書かれたコードを受け取り、「マシン語」に翻訳する。マシン語というのはより原始的な言語なので、コンピュータが理解することができる。再び料理にたとえて言えば、レシピ(=Haskellのプログラム)を書くのがあなた。実際に作業するのが、コック(=Haskellコンパイラ)であり、食材を組み合わせて料理(=実行可能ファイル)を作る。そう、出された料理からレシピを再現するのは簡単ではない。(同様に、コンパイル後の実行可能ファイルから、Haskellのコードを得ることもできない。)
Haskellの学習を始めるため、Haskell platformをダウンロードしてインストールしよう。platformには「Glasgow Haskellコンパイラ」(略してGHC)のほか、必要なものが全部含まれている。
お試しだったり、あるいは、コンパイラ一式を入れるのがイヤというなら、Hugsを使ってみるとよい。Hugsは、軽量の(しかも可搬性に優れた)Haskellインタプリタである。あるいは、TryHaskellも気にいるかもしれない。TryHaskellは、オンラインですぐ使えるインタプリタである。以降は、すべてGHC向けの手順なので、気をつけてほしい。
Note
UNIXユーザの皆様へ
もしあなたが、ソースからコンパイルするのを好む人だとしても、GHCの場合、賢明な考えとは言えない。初めてインストールする場合、なおさらである。というのも、GHC自体、大部分がHaskellで書かれているので、手作業でブートするのは相当トリッキーな作業となる。さらに、ビルドには「膨大な」時間がかかり、大量のディスク容量も消費してしまう。それでも、どうしても、GHCをソースからビルドしたいというなら、Building and Porting GHC at the GHC homepageを見てほしい。
まとめると、Haskell Platformをダウンロードすることを、強くお薦めする。ソースからコンパイルするのでなく。
はじめの一歩[編集]
Haskell Platformのインストールが済んだら、いよいよ、初めてのHaskellコードを書く時間である。
ここで使うのは、GHCiというプログラムである。iは対話(interactive)のiである。OSに応じ、以下手順を実行してほしい。
- Windows: スタートメニューのファイル名を指定して実行から「cmd」と入力してEnterキーを押す。続いて
ghci
と入力して、再度Enterキーを押す。 - MacOS: 「ターミナル」(アプリケーション>ユーティリティ>ターミナル)を起動し、現れたウィンドウに
ghci
と入力してEnterキーを押す。 - Linux: ターミナルを起動し
ghci
プログラムをrunする。
以下のような出力が得られるはずである。
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が結果を返してくれる。
さあ、これで、初めてのHaskellコードを書く準備が整った。ひとつ、簡単な計算をいくつか試してみよう。
Prelude> 2 + 2 4 Prelude> 5 + 4 * 3 17 Prelude> 2 ^ 5 32
演算子は、他のプログラミング言語とよく似ている。+
は加算、*
は乗算、^
は累乗()を表す。2番目の例から、Haskellが、演算子の標準的な優先順位にしたがうことがわかる。
これで、Haskellを計算器として使う方法がわかった。実際のところ、Haskellは、常に、基本的には計算器なのである。それは、本当に強力な計算器なので、数以外のモノも扱うことができる。たとえば、文字、リスト、関数、ツリー、さらには、他のプログラムでさえも。(今はこれらの用語になじみがなくても、心配しないでほしい。)
GHCiは、とても強力な開発環境である。話を進めるにつれ、ファイルをロードし、ソースコードとしてGHCiに取り込んで、取り込んだ各パーツを評価(evaluate)する方法を学ぶことになる。
ここまでの話がすっかり理解できたら、次章に進もう。 (理解できないところがあったら、トークページからWikibooks(訳注:あるいは翻訳)の改善にご協力お願いします!) 次章では、Haskellの基本的なコンセプトをいくつか紹介すると共に、初めてのHaskell関数を作成しよう。