自分のマシンでExercismの演習を解けるように、Haskellをローカルにインストールする方法を学びます
Haskellのツールをインストールするには、GHCupを使う方法がおすすめです。
GHCupを使えば、インストール済みのコンパイラー、プロジェクト・パッケージマネージャー、言語サーバーをまとめて管理できます。
Exercismの演習を進めるには、Stackさえあれば大丈夫です。
Stackをインストールするには、GHCupのインストールコマンドまたはスクリプトを実行します。デフォルトのまま進めつつ、Stackもインストールするように指定してください。
Stackのインストールをつい飛ばしてしまった、ということはありませんか? 心配いりません。あとからghcup install stackを実行すれば大丈夫です。
GHCupは次のものをインストールします。
コンパイラー(GHC: Glasgow Haskell Compiler)
厳密にはExercismには必要ありませんが、演習ディレクトリの外でGHCiを試したいときに便利です。
Cabal
プロジェクト・パッケージマネージャーです。Exercismでは必要ありません。
Stack
Exercismで使うプロジェクト・パッケージマネージャーです。プロジェクト(演習)ごとに、適切なコンパイラーとライブラリーが揃っていることを保証してくれます。
インストールが成功したかどうかは、次のどちらかのコマンドを実行して確認できます。
ghcup list: 成功すると、ツールのバージョンがずらりと並び、Stackがインストール済みとして表示されますstack --version: 成功すると、Version 2.7.5, Git revision ...のように表示されますStackは、必要になったときにGHCを自動でダウンロードしてインストールします。ターミナルで次のコマンドを実行すると、インストールを開始して確認できます。
# Note: it only makes sense to run Stack
# inside projects, so navigate into an
# exercise directory first!
exercism download --exercise=hello-world --track=haskell
cd ~/Exercism/haskell/hello-world
stack ghc -- --version
次のように出力されれば
The Glorious Glasgow Haskell Compilation System, version 8.8.4
GHCは正しくインストールされています。
Haskellのサポートは、Haskell Language Server(HLS)によって提供されます。言語サポートは必須ではありませんが、強くおすすめします。
Visual Studio Code用のHaskell拡張機能を入れましょう。GHCupを使ってHLSを自動でインストールしてくれるので、あとはそのままで準備完了です。
注意: ダウンロードしたばかりの演習では、HLSの起動に手間取ることがあります。その場合はstack testを実行してから、言語サーバーを再起動してください。
エディター設定に関するHLSのドキュメントを参照してください。HLSを手動でインストールする必要があるかもしれません。その場合はghcup install hlsを実行します。