はじめてのHaskell

IDE環境の構築とHello world出力までの手順

  1. ghcをダウンロード(http://www.haskell.org/ghc/)してインストールする。今回はGHC 7.2.1を使いました。
  2. Eclipceをダウンロード、インストールと実行
    1. http://mergedoc.sourceforge.jp/からEclipse 3.7をダウンロードします。Platform 、Ultimate、JavaC/C++PHPなどの種類がありますが、Ultimate、Javaのどちらかをダウンロードしてください。
    2. zipファイルを任意のディレクトリに展開する。今回は"C:\Haskell"に展開します。
    3. "C:\Haskell\eclipse\eclipse.exe"を実行して、Eclipceを起動する。
  3. EclipceFPをインストール。EclipceFPはEclipce上でHaskell開発を行うためのプラグインです。
    1. Eclipceを起動し、メニューバーからヘルプ⇒新規ソフトウェアのインストールを選択する。
    2. 開かれたインストールウィンドウの作業対象に"http://eclipsefp.sf.net/updates"を入力し、"追加"ボタンを押す。
    3. 開かれたリポジトリの追加ウィンドウの名前入力欄に"EclipceFP"と入力し、"OK"ボタンをを押す。リポジトリの追加ウィンドウが閉じた後に自動でEclipceFPのサイトに接続し、インストールするファイルの情報をダウンロードします。この処理には少し時間がかかります。インストールウィンドウの名前やバージョンと書かれたテーブルに"Functional Programming"と表示されていれば次に移ります。
    4. Functional Programmingの左のチェックボックスにチェックを入れ、"次へ(N)"ボタンを押します。
    5. インストールされる項目の確認が表示されます。"FP: Haskell support for Eclipse"があることを確認後、"次へ(N)"ボタンを押します。自動でインストール作業が開始されます。
    6. ライセンス確認を求められます。ライセンスに目を通して同意できるならば、"使用条件に同意します(A)"をチェックし、"完了(F)"ボタンをを押します。
    7. インストール作業中にセキュリティー警告ウィンドウが表示されますがOKを押してください。
  4. Haskellプロジェクトを作ってみる
    1. Eclipceを起動し、メニューバーからファイル⇒新規⇒プロジェクトで新規プロジェクトウィンドウを開く。
    2. HaskellフォルダのHaskell Projectをダブルクリックする。
    3. プロジェクト名を設定する。今回は"HelloWorld"とする。
    4. "完了(F)"を押してプロジェクトを押すとプロジェクトが作成される。
    5. プロジェクトのsrcフォルダ内にあるMain.hsを選択する。(このファイルがソースファイル)
    6. 以下のようにファイルを記述する。 main = print("Hello world.")
    7. メニューバーから実行(R)⇒実行(R)を選択。次を実行ウィンドウでGHCi sessionを選び、"OK"ボタンを押す。
    8. コンソールに下記のような表示がされている。

GHCi, version 7.2.1: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Loading package ffi-1.0 ... linking ... done.
[1 of 1] Compiling Main ( C:\Haskell\workspace\HelloWorld\src\Main.hs, interpreted )

C:\Haskell\workspace\HelloWorld\src\Main.hs:1:1:
Warning: Top-level binding with no type signature: main :: IO ()
Ok, modules loaded: Main.
*Main>

ここでコンソールに

*Main> main(+Enter)

を入力すると

"Hello world."

と出力される。

以上でHello worldまで完了。