Haskell用のIDE(統合開発環境)Leksahの簡単な使い方を説明します。それほど機能が充実しているわけではありませんが、初めてHaskellを使うときの環境選択に迷った時は、とりあえずLeksahを触ってみてはいかがでしょうか。
Windows/Mac OS X/各種UNIX系に対応しています。
インストール
- Haskell Platform ※ 忘れないように注意!
- Leksah
最初にHaskell Platformをインストールします。これを飛ばしてうまく動かないケースがよくあるので、必ずインストールしてください。
※ WindowsではOSが64bitでも32bit版をインストールした方が安定しています。
Leksahのインストール方法はOSごとに説明します。
Windows
【注意】 この記事の情報は古いです。既にこのバージョンは動かない可能性があります。
新しいバージョンは安定しないようなので、古いバージョンを推奨します。
Mac OS X
【注意】 この記事の情報は古いです。既にこのバージョンは動かない可能性があります。
新しいバージョンは安定せず、古いバージョンにはキャレットが消える問題があるため、安定しているバージョンを紹介します。(情報源)
dmgを開くとアプリが出て来ますが、それを直接起動するのではなく、アプリケーションフォルダなどにコピーしてください。
各種UNIX系
ディストリビューションにパッケージがあればそれをインストールしてください。なければソースからビルドしてください。
起動
起動すると確認画面が表示されます。そのまま[OK]をクリックします。
環境の調査が始まるのでしばらく待ちます。
本体が起動します。次回の起動からは確認や調査などはなく本体がすぐ起動します。
初期設定
補完候補の自動表示は画面がずれるなど弊害の方が大きいため、オフにすることを推奨します。
メニューから設定します。
- Configuration (Macの場合はメニュー左端のLeksah) → Edit Prefs
- GUI Options → Complete only on Hotkey にチェックを付ける
- [Save]
自動表示をオフにしても[Ctrl]+[Space]で出せます。
動作確認
初期状態でサンプルプログラムが開かれているので、ビルドして実行します。
configure
初めてビルドするときや設定を変更したときはconfigureが必要です。
次のアイコンをクリックしてください。
※ ここで番号だけが出て他に何もログが出ない場合、Haskell Platformがインストールされているか確認してください。
右下のログを見て完了を確認します。
Resolving dependencies...
Configuring leksah-welcome-0.12.0.3...
-----------------------------------------
※ 赤字で警告が出ても無視して続行してください。
Warning: The package list for 'hackage.haskell.org' is 30 days old.
Run 'cabal update' to get the latest list of available packages.
ビルド
次のアイコンをクリックしてください。
右下のログを見て完了を確認します。
Building leksah-welcome-0.12.0.3...
Preprocessing test suite 'test-leksah-welcome' for leksah-welcome-0.12.0.3...
[1 of 1] Compiling Main (略)
Loading package ghc-prim ... linking ... done.
(略)
Linking dist\build\test-leksah-welcome\test-leksah-welcome.exe ...
Preprocessing executable 'leksah-welcome' for leksah-welcome-0.12.0.3...
[1 of 1] Compiling Main (略)
Loading package ghc-prim ... linking ... done.
(略)
Linking dist\build\leksah-welcome\leksah-welcome.exe ...
-----------------------------------------
Installing executable(s) in (略)
-----------------------------------------
エラー
以下のようなエラーが発生することがあります。
<command line>: cannot satisfy -package-id ...
Leksahの外でコマンドを実行してください。Leksahは終了しなくても構いません。
$ ghc-pkg recache
実行
次のアイコンをクリックしてください。
右下のログを見て動作を確認します。
Hello World
-----------------------------------------
プログラム修正時に自動的に保存してビルドされます。そのためビルド操作は毎回やる必要はなく、以降は実行操作のみで開発を進めます。
シンプルなパッケージを作成
新しく開発を始める時はワークスペースとパッケージを作成します。学習用として余分な機能を使わないシンプルなパッケージの作成方法を説明します。
まず開いているソースのタブを閉じてください。
ワークスペース作成
パッケージ(後述)を複数まとめておく単位です。
メニューから新規作成します。
- Workspace → New
- 適当なフォルダに移動します。
- [Create Folder]でワークスペースを入れるフォルダを作成します。フォルダ名を適当に入力します。
- Name欄に適当な名前(2で作成したフォルダと同名を推奨)を入力して[Save]をクリックします。
※ フォルダ名を入力後に必ず[Enter]を押して確定してください。確定せずに先に進むとフォルダが作成されません。
パッケージ作成
1つのプログラムはパッケージという単位で管理されます。
メニューから新規作成します。
- Package → New
- ワークスペースのフォルダの中に、パッケージのフォルダを作成します。フォルダを作成しないと動作がおかしくなるため、必ずフォルダを作成してください。
- [Open]をクリックします。
パッケージ設定
設定画面が開きます。ビルドが重くなるためテスト関係の設定を外します。
- Dependencies → QuickCheck → Remove
- Tests → Remove
- Remove Build Info
- Save
ハローワールド
サンプルのMain.hsが開きます。初期学習用にはこの内容をベースにするよりスクラッチから書いた方が良いため、[Ctrl]+[A]で全選択して[Backspace]で消去します。
ハローワールドを入力します。
main = do
print "Hello, World!"
入力中にバックグラウンドでビルドが始まります。ログが落ち着かない感じです。この機能をオフにすることもできますが、文法チェックも兼ねているため、しばらくそのまま使ってみることをお勧めします。
実行アイコンをクリックしてください。
右下のログを見て動作を確認します。
"Hello, World!"
後はここに色々と書きながら学習を進めれば良いでしょう。
取っ掛かりとして次の記事をリンクしておきます。