haskell-jp / questions #106 at 2025-01-12 21:58:04 +0900

Haskell には cargo-make みたいな (比較的) 標準的なツールが無さそうなので、お使いのものがあれば伺いたいです!
なにをやるかによると思いますが、オプションをつけるだけならbashやmakeでもいいですし、いろいろ環境ごとにチューニングする必要があるならcmakeやmeson。バッチを流すならargo workflowとか。
haskellでやりたいならshakeとか。
https://github.com/ndmitchell/shake
なにかビルドするならnixとかでもできますね。
ありがとうございます。 make, just, shake 辺りを試してみます。 Nix は doctest等のインストールに使っており、そろそろビルドもやりたくなって来ました。参考にさせて頂きます!
https://qiita.com/junjihashimoto@github/items/8ce130e2db394918c1ea
これを書いた時にはあまり考えてなかったのですが、
https://nixos.wiki/wiki/Haskell
こちらのフローチャートの最初のところで、キャッシュありかなしかで分岐しますが、分岐しなくても次のように
必要なライブラリで時間がかかるものだけ、ghcに組み込んで、そのghcをインストールし、
あとは通常のcabalないしstackで開発するのが効率がいいなと感じています。
haskellPackages.ghcWithPackages (pkgs: [ pkgs.xxx (GHCに組み込みたいライブラリ) ])
その場合、stackにはつぎのようなオプションでシステムのghcをつかうことになるとおもいます。
system-ghc: true
nix:
  enable: false
https://github.com/hasktorch/hasktorch-skeleton/
こちらにそのようなテンプレートを置いています。
おおお、これもかなり直接的な利益があって面白いですね。 NixOS で cabal を使っていたのですが、環境を見直してみたいと思います。テンプレートのリンクもありがとうございます!