Haskell/Getting set up

出典: フリー教科書『ウィキブックス(Wikibooks)』
ナビゲーションに移動 検索に移動

本章の手順にしたがい、必要なプログラムをインストールすることで、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関数を作成しよう。