somemo programming etc.

プログラマ、雑記、プログラミング関係はLinkから、数式はこっちでまとめていることが多い

【Haskell】EclipseFPをインストールしてみた【Mac】

タイトルから分かるかもしれませんが、EclipseHaskellを使うためのプラグインEClipseFPをインストールしてみました。

EclipseFP

プラグイン名にHaskellと含まれていません。その理由はOCamlでも使うことができていたようです。現在では、OCaml用の機能はなくHaskellのみとなっています。

インストール

以下の手順でインストールします。

  1. 新規ソフトウェアのインストールで、http://eclipsefp.sf.net/updatesを追加する
  2. 上記を選択して表示される、Functionnal Programmingから、FP:Haskell support for Eclipseを選択する(今回は、2.4.2)
  3. あとは手順に従って進める

インストール完了の確認は、設定にHaskellが追加されていれば問題ありません。

設定

以下の設定を行います。

  • ghcのパス設定
  • cabal-installのインストールとパス設定
  • BuildWrapperのインストールとパス設定
  • Scion-browserのインストールとパス設定
  • Hoogleのインストールとパス設定
  • HLintのインストールとパス設定
  • EclipseでのPATHの設定

ghcのパス設定

HaskellHaskell Implementationsにて行います。Autodetectがありますが、自動設定できなかったので自力で行いました。

cabal-installのインストールとパス設定

これ以降のライブラリをインストールするためにインストールします。以下のコマンドを実行します。

cabal install cabal-install

Hasklell Platformでインストールされたcabalの他にもう一つcabalが以下にインストールされます。

~/.cabal/bin/

今回インストールされたcabalのバージョンは以下です。

~/.cabal/bin/cabal -V

cabal-install version 1.16.0.2
using version 1.16.0.3 of the Cabal library 

もとからインストールされていたcabalのバージョンは以下です。

(/user/local/bin/)cabal -V

cabal-install version 0.14.0
using version 1.14.0 of the Cabal library 

パス設定は、Haskellの Helper executables にて設定できます。

BuildWrapper〜HLintのインストールとパス設定

cabal-installのインストールにより、インストールできるようになっています。以下のコマンドを実行して、表示されていれば問題ありません。

cabal list
cabal install buildwrapper
cabal install scion-browser
cabal install hoogle
cabal install hlint

syntax hilightやパッケージの検索、構文チェックのために使います。hlintのパス設定は、Haskellの Helper executables HLintにて設定できます。それ以外は、cabalと同様にHelper executables にて設定できます。今回はHLintだけをインストールしましたが、他にも便利な物があるようです。

プロジェクトの作成

PATH設定の前にプロジェクトを作成します。新規プロジェクトの作成にHaskellがあたらに加わっていますので、いつも通り作成します。すると、.cabalファイルに以下のエラーが出ています。

The program ghc version >=6.4 is required but it could not be found.

このエラーを解決するためにPATH設定を行います。

EclipseでのPATHの設定

様々なパス設定を行ってきましたが、ghcだけうまく設定できていませんでした。これは、macの場合、consoleとGUIでPATH設定が異なるためです。そのために必要な設定ファイル/etc/launchd.conf を以下のように作成します。

sudo echo "setenv PATH $PATH" > /etc/launchd.conf

/etc配下に作成するため、sudoを使いconsoleと同様の設定を行うためにPATH変数をそのままファイルの内容にしています。ファイル作成後、OS再起動するとプロジェクト作成後に発生していたエラーはなくなり、ghcへのパス設定を行えていることが分かります。

その他

実は、もう一つエラーが発生していました。それは、http://eclipsefp.github.com/faq.htmlにも記載されている以下の内容です。

buildwrapper: user error (You need to re-run the 'configure' command. The version of Cabal being used has changed (was Cabal-1.16.0.3, now Cabal-1.14.0).)

cabalが複数存在していることが原因です。前述したバージョンがそのまま出ています。これは解決できたら使用と思います。これで開発環境が少し整いました。