🚀

macOSでHaskell

2022/10/31に公開

はじめに

本来ghcupを使えばghcもhlsもstackもいい感じになるはずっぽいが、どうしても上手くいかなかった。そこで上手くいくようにした方法を書く。

ghcupのインストール

https://www.haskell.org/ghcup/
にある通りにインストールする。
下の記事も参考になる。
http://note.kurodigi.com/ghcup-install/

stack.ymlの編集

ghcupではGHC 9.4.2(等)をインストールして設定していたのに、stack new hogeしてcd hogeしてstack buildするとなぜかGHC 9.0.2が使われるという事象に出会った。特にvscodeではghcide compiled against GHC 9.4.2 but currently using 8.6.5...とエラーが出て拡張機能が全く機能せず、とても困っていた。
そこでstack.ymlの

resolver:
  url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/19/30.yaml

をコメントアウトし、

resolver: ghc-9.4.2

としたところちゃんとGHC 9.4.2が使われるようになり、拡張機能もまともに動くようになり快適になった。

Discussion