cabalをちょっと使ってみた感想

昨日まで、Windows10でHaskell+ATOMエディター+プロジェクト管理ツールStackを使ってみて、ATOMでghc-modがうまく動かず、一度すべてアンインストールして、Windows10+Haskell+Cabal+ATOMエディターという環境を構築してみました。

使ってみて良かったところ

  • 速い
  • ATOMで問題なくghc-mod使える
  • .cabalファイルが何か分かった。

cabalとstackの関係

Haskellでは2015年ごろにstackというツールができて、最近はこれが推奨されているようです。stackコマンドでプロジェクトを作成して、ビルド、テスト、ライブラリ依存管理などができます。

それ以前まではcabalが使われていました。現在のcabalはsandboxという機能でプロジェクト単位にライブラリーのバージョン管理ができますが、初期のcabalはOSのアカウントでライブラリー管理をするため、異なるプロジェクトや、githubからとってきたプロジェクトで、ライブラリーのバージョンを調整する必要があり大変だったそうです。

https://sites.google.com/site/toriaezuzakki/haskell/environment#TOC-sandbox-

cabalのしんどいところ

stackではプロジェクトを新規に作成したらテスト用のフォルダーも作成してくれてすぐテストができますが、cabalは設定ファイルを書いて用意する必要があるため面倒です。

公式のユーザーガイドも出来があまりよくなく、依存関係をどう書いていけばいいかわかりません。

https://www.haskell.org/cabal/users-guide/developing-packages.html#test-suites

いろいろ調べていて以下を見つけました。

http://taylor.fausak.me/2014/03/04/haskeleton-a-haskell-project-skeleton/

これを参考にしようと思ったのですが、これを今から試すならstackやったほうがよさそうです。

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA