ちょっと Haskell をさわってみようと思った場合、定番としては、Haskell Platform をインストールして ghci を使う、といった方法があります。
ここではそれとは違う環境として、Haskell for Mac を紹介します(名前の通り、Mac OS X 向けです)。
Haskell for Mac とは
単体アプリで Haskell が動作する開発環境です。Mac App Store で販売されています。有償アプリではありますが、導入が手軽で便利だと思います。アプリをインストールするだけで準備完了です。
最大の特徴は Playgrounds 機能です。書いたコードがその場で自動的に実行される対話的環境です。これについて後述します。
また、簡易なプロジェクト管理機能もあります。
Haskell にはたくさんのライブラリ(パッケージ)があります。Haskell for Mac に含まれているライブラリは Library Documentation で確認できます。とても多くのライブラリが含まれていることが分かります。
Playgrounds 機能を試してみる
まず、Haskell for Mac を起動して新規プロジェクトを作成します。
画面は、プロジェクト管理(左)、モジュールエディタ(中)、Playground エディタ(右)、の3つに大きく分かれています。画面右上の「Show or Hide Area」のボタンで、それぞれの表示・非表示を切り替えることができます。
まずは、右のみ表示すると、Playground エディタ画面のみになります。この状態で Haskell のコードを書くと、自動的に実行結果が表示されます。
自分で定義した関数を試す
試しているとすぐ気付くかと思いますが、前節の Playgrounds 画面では、そのままでは自分で関数を定義することができません(let
を使えば可能ですが)。
そこで、中のモジュールエディタ画面を表示させます。これはプロジェクト内の hs ファイルの編集を行う画面です。ここに関数を定義して、右の Playground エディタでその関数を実行することができます。つまり、右の Playground エディタは、hs ファイルで実装した内容を試してみるための実験場なのです。
複数ファイルを管理する
次に左のプロジェクト管理画面を開いてみます。ここで、hs ファイルを新規作成することができます。ひとつの hs ファイルがひとつの Haskell モジュールになります。
メイン以外のモジュールでは、最初にモジュールヘッダを書く必要があります。
作成したモジュールは、別のモジュールで import して使うことができます。
サンプルプロジェクトを見る
実は Haskell for Mac にはサンプルプロジェクトがいくつか付属しています。サンプルを一通り見てみると、より雰囲気がわかるかと思います。
SpriteKit を使ってグラフィックス描画をするサンプルもあったりして面白いです。
最後におまけ
大阪・梅田で Haskell 本の読書会をやっています。興味がある方は Umekita.hs をご覧ください。今は「Haskellによる並列・並行プログラミング」を読んでいます。
また、今の本を読む前には「すごいHaskellたのしく学ぼう!」を読んでいたのですが(すごいHaskell読書会)、これをもう一度最初から読んでみてもいいのでは、と考えています。興味がある方は Twitter 等で声をかけていただければと思います。