16
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

HaskellAdvent Calendar 2015

Day 16

Haskell for Mac でちょっと Haskell をさわってみる

Posted at

ちょっと 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 を起動して新規プロジェクトを作成します。

NewProject.png

画面は、プロジェクト管理(左)、モジュールエディタ(中)、Playground エディタ(右)、の3つに大きく分かれています。画面右上の「Show or Hide Area」のボタンで、それぞれの表示・非表示を切り替えることができます。

Screen.png

まずは、右のみ表示すると、Playground エディタ画面のみになります。この状態で Haskell のコードを書くと、自動的に実行結果が表示されます。

Playground.png

自分で定義した関数を試す

試しているとすぐ気付くかと思いますが、前節の Playgrounds 画面では、そのままでは自分で関数を定義することができません(let を使えば可能ですが)。

そこで、中のモジュールエディタ画面を表示させます。これはプロジェクト内の hs ファイルの編集を行う画面です。ここに関数を定義して、右の Playground エディタでその関数を実行することができます。つまり、右の Playground エディタは、hs ファイルで実装した内容を試してみるための実験場なのです。

Module.png

複数ファイルを管理する

次に左のプロジェクト管理画面を開いてみます。ここで、hs ファイルを新規作成することができます。ひとつの hs ファイルがひとつの Haskell モジュールになります。

メイン以外のモジュールでは、最初にモジュールヘッダを書く必要があります。

NewModule.png

作成したモジュールは、別のモジュールで import して使うことができます。

ImportModule.png

サンプルプロジェクトを見る

実は Haskell for Mac にはサンプルプロジェクトがいくつか付属しています。サンプルを一通り見てみると、より雰囲気がわかるかと思います。

SpriteKit を使ってグラフィックス描画をするサンプルもあったりして面白いです。

SpriteKit.png

最後におまけ

大阪・梅田で Haskell 本の読書会をやっています。興味がある方は Umekita.hs をご覧ください。今は「Haskellによる並列・並行プログラミング」を読んでいます。

また、今の本を読む前には「すごいHaskellたのしく学ぼう!」を読んでいたのですが(すごいHaskell読書会)、これをもう一度最初から読んでみてもいいのでは、と考えています。興味がある方は Twitter 等で声をかけていただければと思います。

16
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?