開発環境

Haskellのインストール方法 (Linux)

Haskellのインストール方法 (Linux)

HaskellをLinuxにインストールする方法について解説します。具体的には、Ubuntu 22.04 LTSを対象にします。

Haskellの環境構築

Haskellは、高度な純粋関数型プログラミング言語で、強力な型システムと静的型付けを特徴としています。関数型プログラミングを学ぶには最適な言語のひとつです。

本記事では、Haskellの開発環境をLinuxで用意するための方法について紹介しますが、Windowsでも環境は用意できます。Windowsにインストールする方法は「Haskellのインストール方法(Windows)」でまとめているのでLinuxをお使いの方はこちらを参考にしてください。

なお、Haskellは、WindowsとLinuxの両方の環境で使用されますが、一般的にはLinuxがより好まれる傾向にあります。これは、多くの開発者やシステム管理者がLinuxを好むため、より多くのオープンソースプロジェクトや開発ツールがLinux環境に最適化されているためです。HaskellはどちらのOSでも動作しますが、Linux環境では特にパッケージ管理や環境設定が容易であると言われています。

ただし、これは一般的な傾向であり、特定のプロジェクトやチームによってはWindows環境でHaskellを積極的に使用している場合もあります。また、開発者の個人的な好みや特定のプロジェクトの要件によっても、使用されるOSは異なる可能性がありますので必要に応じて検討してください。

本記事では、Haskellの開発環境をLinuxで用意する方法について説明します。なお、本記事の前提として使用したOSとしては、Ubuntu 22.04.3 LTS (64bit)とします。なお、異なるバージョンのUbuntuや同じDebian系のLinuxのディストリビューションであれば同様にインストールができる可能性があります。

Haskellのインストール

Haskell関連のインストールは、Haskellの公式ダウンロードページの情報を参考に行います。

Haskell Download
公式ダウンロードページ ※記事執筆時点のため画面構成は変わっている可能性があります

本記事では、GHCのインストーラーであるGHCupを使用してGHCのインストールを行います。

GHC (Glasgow Haskell Compiler)は、最も広く使われているHaskellコンパイラであり、GHCupは、Haskell環境構築のためのインストーラのことです。

インストール手順

Haskellダウンロードページの「GHCup」ボタンをクリックすると、GHCupのページに遷移します。初期表示時にはWindowsのインストールに関する表示のみとなっていますが、「Show all platforms」ボタンをクリックすることで、Linux等に関するインストールコマンドも表示されます。

Haskell Install

Ubuntuのターミナル(端末)でインストールのための以下コマンドを実行します。上記画面のコピーボタンからコピーできます。

curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh

curlは、URLからデータを転送するためのコマンドラインツールです。上記のコマンドを簡単に説明すると以下のようになります。

コマンド概要
--proto '=https'HTTPSプロトコルを使用する
--tlsv1.2TLS(Transport Layer Security)のバージョン1.2を使用する
-sSf-s (サイレントモード)、-S(エラーが発生した場合にエラーメッセージを表示)、-f (サーバーエラーが発生した場合に失敗)というオプションの組み合わせ
https://get-ghcup.haskell.orgGHCupのURL
| shシェルにパイプでつなげて実行

curlコマンドが見つからず実行できない場合は、以下でcurlをインストールしてから再度実行してください。

sudo apt install curl

curlを実行すると以下のような画面が表示されます。指示に従って「ENTER」をクリックしてください。

Haskell Install

bash shellの設定ファイルである.bashrcに自動で必要なパスを追加するか確認があるため、「P」を入力してENTERをクリックします。

Haskell Install

haskell-language-server (HLS)のインストールをするか確認があります。HLSは、Haskellプログラミング言語のための高度な言語サーバーで、Haskell開発において多くの利点を提供してくれるため、インストールしておきます。「Y」を入力してENTERをクリックします。

Haskell Install

stackの設定を実行するか確認があります。「Y」を入力して有効化するようにします。stackは、Haskellのプロジェクト管理およびビルドのためのツールです。

Haskell Install

インストールの確認が出るので、ENTERをクリックしてインストールを開始します。

インストールが開始されます。ダウンロードなどのコマンドが順次表示されていくので、しばらく待ちましょう。

Haskell Install

インストールがすべて完了して以下のような表示になればHaskellのインストールは完了です。

Haskell Install

インストールの途中で確認にあった.bashrcには、パスの情報が追加されていますが、反映するために以下を実行します。

source ~/.bashrc

上記でHaskellのインストールは一通り完了です。

【インストール時のエラー】

インストール時に以下のようなエラーが発生する場合があります。(私はここで理由が分からず少し時間がかかりました。)

Haskell Install Error

理由としてはコンパイルに必要なmakeやclangが不足していたためでした。上記のようなエラーが発生した場合には、sudo apt installを使ってmakeやclangをインストールしてから、再度Haskellのインストールを実行してみてください。

sudo apt install make
sudo apt install clang

環境や状況によっては、上記変更で改善しない場合があるかもしれません。同じようなエラーが発生した場合には、試してみていただければと思います。

GHCiの実行

Haskellの実行環境の確認する方法としては、GHCのインタラクティブな対話型シェルであるGHCiを確認してみることです。ターミナル(端末)で以下を実行してみてください。

ghci

以下のように表示されれば、GHCのインストールはできています。

上記実行結果を見てみると、libgmp.soというGMP(GNU Multiple Precision Arithmetic Library)がシステム上に存在しない、または見つからないというwarningが表示されています。

GMPは、任意精度の数値計算を行うためのフリーでオープンソースのソフトウェアライブラリで、暗号学、科学技術計算、数式処理システム、アルゴリズム研究など、高精度計算が必要な多くの分野で使用されています。以下コマンドでインストールしておきましょう。

sudo apt install libgmp-dev

上記を実行後に再度「ghci」を実行するとwarningは消えて、GHCiを使用することができるようになります。

GHCiは、インタラクティブな対話型シェルのため、その場で計算を実行したり、Haskellプログラム(.hs)をロードして実行するといったことが可能です。「GHCiの主要なコマンド」でGHCiの主要なコマンドを説明しているので、参考にして触ってみてもらえると面白いかと思います。

Haskellの開発環境の準備

Haskellがインストールできたら開発環境を準備して実際の開発をします。

Haskellの開発環境としては、他の言語の開発でもよく使用されるVisual Studio Code (VSCode)が使用できます。VSCodeは、拡張機能の豊富さ、そしてHaskell Language Serverとの互換性により、シンタックスハイライト、コード補完などの機能が利用できます。

VSCodeでの環境の準備方法については「VSCodeでHaskellの開発環境を構築する方法」でまとめていますので参考にしてください。

まとめ

HaskellをLinuxにインストールする方法について解説しました。具体的には、Ubuntu 22.04 LTSを対象にしています。

Haskellは、高度な純粋関数型プログラミング言語で、強力な型システムと静的型付けを特徴としています。Haskell環境を構築して、是非Haskellでのプログラム開発や学習に役立ててもらえたらと思います。

なお、記事冒頭でも紹介したようにHaskellはWindowsでも環境を構築できます。Windowsにインストールしたい場合は「Haskellのインストール方法(Windows)」を参考にしてください。