Edit this page | Report an issue |
この科目では実装言語として OCaml を使用する.演習問題を進めるためには,自分のマシンに OCaml プログラムの開発環境を整えることが必須である.以下では,OCaml の開発環境をセットアップする方法を説明する.
eval $(opam env)
を実行せよみたいなメッセージが出たら,eval $(opam env)
を実行してから次のコマンドを実行.
opam install -y user-setup menhir dune ounit tuareg
# 上のコマンドが失敗する場合(OPAMのバージョンが古い場合)は以下のコマンドを試すこと。
# それでもダメならOPAMのバージョンを2.1にしてから上のコマンドを試すこと。
# opam install depext && opam depext --install user-setup menhir dune ounit tuareg
opam user-setup install
ocaml
コマンドを実行して,インタプリタが起動すれば OKOCaml を Windows で動作させるのは従来かなり大変だったのだが,Windows 10 からは WSL をインストールして Ubuntu 環境を作ることでうまくいくようになっているようである.(末永は Windows を使っていないので,WSL がどのようなものかあまり分かっていない.)それ以前のバージョンの Windows では,VMWare Workstation Player(個人利用は無料) や VirtualBox(無料) 等を用いて,Linux 等の UNIX 系 OS の仮想環境を作った上で,その中で OCaml をインストールして開発を進めることになる.いずれにしても,まず「プログラミング言語」の講義ページの環境設定に関する資料を読んでセットアップすること.
というわけで,以下では,macOS か UNIX 系の環境があると仮定して話が進む.
OPAM は OCaml のパッケージマネージャである.(ところで,Google で日本語を使う設定にしておいて OPAM を検索すると,大分県立美術館が最初にヒットする.いつか行ってみたいものである.)これを導入するのが OCaml の開発環境を作る上で一番の早道である.
OPAM のページに OPAM のインストール方法 が載っている.基本的にはこれを読んでほしいのだが,一応2020年4月5日時点の内容を和訳しておいた.こっちを読んでもよい.
OPAM を使うには初期設定が必要である.「プログラミング言語」の講義ページの環境設定に関する資料に書いてある通りにやればよいが,ここにも実行すべきコマンドを書いておく.
opam init -y
opam switch create 4.14.0
eval $(opam env)
もしくは
opam init -y --disable-sandboxing
opam switch create 4.14.0
eval $(opam env)
--disable-sandboxing
は,Windows Cygwin,もしくはWSL1にインストールするならば必須.
WSL2はDocker for Mac/Windowsなどのように完全なLinuxカーネルなので,opamの全ての機能が利用可能.
以下のコマンドを順に実行しよう.
opam install -y user-setup menhir dune ounit tuareg
opam user-setup install
各コマンドの意味は次の通り.
opam install -y user-setup menhir dune ounit tuareg
: 以下のソフトウェアをインストールする
menhir
: 構文解析ツールdune
: 自動ビルドツールounit
: ユニットテストツールuser-setup
: .bash_profile
や .emacs
のような個人設定ファイルの書き換えを自動で行ってくれる.古いOPAM(バージョン2.0以前)を使用している場合、opam install
コマンドが失敗することがある。これは、システム側に必要なパッケージをOPAMが自動でインストールしてくれないためである。この場合は、次のコマンドを試す。
opam install depext
opam install user-setup
opam depext menhir dune ounit
opam install menhir dune ounit tuareg
opam user-setup install
各コマンドの意味は次の通り.
opam install depext
: depext
というツールをインストール.これは opam
があるライブラリをインストールしようとしたときに,そのライブラリがシステムのパッケージマネージャでインストールしないと入らないようなライブラリに依存していた場合に,それらの依存先ライブラリのリストを返してくれる.opam install user-setup
: user-setup
というツールをインストール..bash_profile
や .emacs
のような個人設定ファイルの書き換えを自動で行ってくれる.opam depext menhir dune ounit
: menhir
(構文解析ツール)dune
(自動ビルドツール), ounit
(ユニットテストツール)というツール群が依存しているシステム側のライブラリをチェックする.必要ならばインストールする.opam install menhir dune ounit
: menhir
, dune
, ounit
をインストール.tuareg-mode
を使うとよい.opam install tuareg
を実行して opam user-setup install
を実行.merlin
が便利である.これがあるとエディタが IDE になる.opam install merlin
を実行してから opam user-setup install
を実行.
vscode-ocaml-platform
を使うとよい.
vscode-ocaml-platform
が必要とする ocaml-lsp
を別途インストールする必要がある. 以下の手順でインストールができる.
$ opam install ocaml-lsp-server
.ocamlformat
ファイルを(空でもよいので)用意するとインデント等が自動的に整理されてよい.
ocamlformat
をインストールしていない場合はエラーが発生するので,その場合はopam install ocamlformat
を実行し,ocamlformat
をインストールする.eval $(opam env)
をしないとOCamlを実行できない。
opam init
を-y
オプションつきで(opam init -y
あるいはopam init -y --disable-sandboxing
)実行したか確認する。していない場合は-y
つきで再度実行する。