More than 1 year has passed since last update.

Haskell用のIDE(統合開発環境)Leksahの簡単な使い方を説明します。それほど機能が充実しているわけではありませんが、初めてHaskellを使うときの環境選択に迷った時は、とりあえずLeksahを触ってみてはいかがでしょうか。

Windows/Mac OS X/各種UNIX系に対応しています。

インストール

  1. Haskell Platform ※ 忘れないように注意!
  2. Leksah

最初にHaskell Platformをインストールします。これを飛ばしてうまく動かないケースがよくあるので、必ずインストールしてください。

※ WindowsではOSが64bitでも32bit版をインストールした方が安定しています。

Leksahのインストール方法はOSごとに説明します。

Windows

新しいバージョンは安定しないようなので、古いバージョンを推奨します。

Mac OS X

新しいバージョンは安定せず、古いバージョンにはキャレットが消える問題があるため、安定しているバージョンを紹介します。(情報源

dmgを開くとアプリが出て来ますが、それを直接起動するのではなく、アプリケーションフォルダなどにコピーしてください。

各種UNIX系

ディストリビューションにパッケージがあればそれをインストールしてください。なければソースからビルドしてください。

起動

起動すると確認画面が表示されます。そのまま[OK]をクリックします。

leksah1.png

環境の調査が始まるのでしばらく待ちます。

leksah2.png

本体が起動します。次回の起動からは確認や調査などはなく本体がすぐ起動します。

leksah3.png

初期設定

補完候補の自動表示は画面がずれるなど弊害の方が大きいため、オフにすることを推奨します。

メニューから設定します。

  • Configuration (Macの場合はメニュー左端のLeksah) → Edit Prefs
    • GUI Options → Complete only on Hotkey にチェックを付ける
    • [Save]

自動表示をオフにしても[Ctrl]+[Space]で出せます。

動作確認

初期状態でサンプルプログラムが開かれているので、ビルドして実行します。

configure

初めてビルドするときや設定を変更したときはconfigureが必要です。

次のアイコンをクリックしてください。

leksah4.png

※ ここで番号だけが出て他に何もログが出ない場合、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.

ビルド

次のアイコンをクリックしてください。

leksah5.png

右下のログを見て完了を確認します。

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

実行

次のアイコンをクリックしてください。

leksah6.png

右下のログを見て動作を確認します。

Hello World
-----------------------------------------

プログラム修正時に自動的に保存してビルドされます。そのためビルド操作は毎回やる必要はなく、以降は実行操作のみで開発を進めます。

シンプルなパッケージを作成

新しく開発を始める時はワークスペースとパッケージを作成します。学習用として余分な機能を使わないシンプルなパッケージの作成方法を説明します。

まず開いているソースのタブを閉じてください。

leksah7.png

ワークスペース作成

パッケージ(後述)を複数まとめておく単位です。

メニューから新規作成します。

  • Workspace → New
  1. 適当なフォルダに移動します。
  2. [Create Folder]でワークスペースを入れるフォルダを作成します。フォルダ名を適当に入力します。
  3. Name欄に適当な名前(2で作成したフォルダと同名を推奨)を入力して[Save]をクリックします。

※ フォルダ名を入力後に必ず[Enter]を押して確定してください。確定せずに先に進むとフォルダが作成されません。

パッケージ作成

1つのプログラムはパッケージという単位で管理されます。

メニューから新規作成します。

  • Package → New
  1. ワークスペースのフォルダの中に、パッケージのフォルダを作成します。フォルダを作成しないと動作がおかしくなるため、必ずフォルダを作成してください。
  2. [Open]をクリックします。

パッケージ設定

設定画面が開きます。ビルドが重くなるためテスト関係の設定を外します。

  • Dependencies → QuickCheck → Remove

leksah8.png

  • Tests → Remove

leksah9.png

  • Remove Build Info
  • Save

leksah10.png

ハローワールド

サンプルのMain.hsが開きます。初期学習用にはこの内容をベースにするよりスクラッチから書いた方が良いため、[Ctrl]+[A]で全選択して[Backspace]で消去します。

ハローワールドを入力します。

main = do
    print "Hello, World!"

入力中にバックグラウンドでビルドが始まります。ログが落ち着かない感じです。この機能をオフにすることもできますが、文法チェックも兼ねているため、しばらくそのまま使ってみることをお勧めします。

実行アイコンをクリックしてください。

leksah6.png

右下のログを見て動作を確認します。

"Hello, World!"

後はここに色々と書きながら学習を進めれば良いでしょう。

取っ掛かりとして次の記事をリンクしておきます。