Contents
はじめに
こんにちは、野村です。
今回は、関数型プログラミング言語Haskellの実行環境を整える方法を紹介します。
以前、この記事でHaskellの導入方法を取り上げたのですが、
どうやら、最小限の環境にとどまっていた模様。
今回はプロジェクトの生成まで突っ込んでみます。
導入
コンパイラとしてGHC、ビルドツールとしてStackというものを導入します。
GHCだけでも基本的なコンパイルは可能だけど、複数のパッケージを管理するような場合、Stackがあるほうがよいそうです。
Stack のインストール
以下のコマンドを実行するとインストールされます。
$ curl -sSL https://get.haskellstack.org | sh
なお、Stack本体のアップグレードのコマンドはこうなります。
$ stack upgrade
GHC のインストール
以下のコマンドを実行するとインストールされます。
$ stack setup
実行
REPLの起動
REPL(Read-Eval-Print Loop :対話的な実行環境)を起動するときは以下の通り
$ stack ghci Prelude>
終了するときはCtrl-dで抜けられます。
スクリプトの実行
コマンド stack runghc にファイル名を渡すだけです。
$ stack runghc hello.hs Hello!
プロジェクト
プロジェクトの作成
コマンド stack new にプロジェクト名を渡すだけです。
$ stack new myproject
生成されたものはこんな感じ。
$ cd myproject $ ls -l 合計 40 -rw-r--r-- 1 jake jake 49 1月 4 13:27 ChangeLog.md -rw-r--r-- 1 jake jake 1529 1月 4 13:27 LICENSE -rw-r--r-- 1 jake jake 12 1月 4 13:27 README.md -rw-r--r-- 1 jake jake 46 1月 4 13:27 Setup.hs drwxr-xr-x 2 jake jake 4096 1月 4 13:27 app -rw-r--r-- 1 jake jake 1516 1月 4 13:27 myproject.cabal -rw-r--r-- 1 jake jake 1184 1月 4 13:27 package.yaml drwxr-xr-x 2 jake jake 4096 1月 4 13:27 src -rw-r--r-- 1 jake jake 2178 1月 4 13:28 stack.yaml drwxr-xr-x 2 jake jake 4096 1月 4 13:27 test
ソースコードを配置するデレクトリは、app と src です。
・app:実行ファイル生成用のコードを格納。
・src:それ以外のコードを格納。
ソースコードの配置
実行ファイル生成用のコードは、app/main.hs の中に「main」という名前の関数を1つだけ定義する。
ビルドと実行
プロジェクトのルートデレクトリで以下のコマンドを実行します。
$ stack build
プロジェクトデレクトリ内の隠しフォルダの中に「myproject-exe」というファイルが生成されます。
ファイル名を変更したいときは、ファイル「myproject.cabal」内で設定できます。
実行するときのコマンドはこうなります。
$ stack exec myproject-exe
最後に
以上、Haskellの実行環境を整える方法を紹介しました。
今回参考にしたのは、この書籍です。
ごく初歩的なことから始まり、コマンドラインツールやWebアプリケーションの作成、サーバとクライアントの連携まで実践的な技法を取り上げています。
これから、この本を使って少しづつ勉強するつもり。
というわけで、今回はこれにて。