未経験のエンジニアとしてRubyやらJavaScriptに触れ合いつつのらりくらりやってきましたが、2年目になったことですし、
『プログラミングの基礎』という書籍を用いて基礎から勉強し直そうと思いました。
そこで、OCamlという見慣れない言語を使うことになるのですが、そのための環境を整えた話です。
『プログラミングの基礎』を読み進める上では以下に紹介する環境で十分かと思います。
マシン環境
MacBook Pro (Retina, 13-inch, Early 2015)
macOS Sierra (Version 10.12.4)
Homebrewはインストール済みという前提です。
OCamlのインストール
OCaml自体のインストールは単純で、以下のbrewコマンドで完了します。
$ brew install ocaml
以下のように、ocamlコマンドでインタプリタが立ち上がればOCamlのインストールは完了です。
$ ocaml
OCaml version 4.04.0
#
※ちなみに、Ctrl+Dでインタプリタが終了します。
困った点とその対策
カーソルキーが使えない!
デフォルト状態のインタプリタでは、カーソルキーが使用できません。
カーソルの位置を調整してtypoの修正ができなかったり、「↑」キーで直前のコマンドを再入力できなかったりで
とても不便です...
この問題は、rlwrapというツールを導入すれば解決します。
こちらもbrewコマンド一発でインストールできます。
$ brew install rlwrap
rlwrap ocaml
というコマンドでOCamlインタプリタを起動すれば、カーソルキーが使用できるようになります。
毎回rlwrap ocaml
と入力するのはダルいので、以下のようにaliasを設定しました。
alias ocaml='rlwrap ocaml'
日本語が表示できない!
OCamlのデフォルトの文字コードがEUC-JPであり、『プログラミングの基礎』でもEUC-JPで進めることになっています。
しかし、EUC-JPのまま進めるにはターミナルの文字コード設定の変更が必要だったりで面倒くさいので、
OCamlの文字コードをUTF-8に変更しました。
ホームディレクトリに以下の内容の.ocamlinit
というファイルを追加すればOCamlの文字コードがUTF-8になります。
let printer ppf = Format.fprintf ppf "\"%s\"";;
#install_printer printer;;
禁じ手
OCamlの環境構築方法を調べると、opamというツールが各所でオススメされているのですが、
opam init
するとMacが落ちるという現象に遭遇しました。
複数回試してみても、OSがYosemiteの別端末で試してみても致死率100%を誇り、
また、opamを使わなければならないほどリッチな環境にする必要もないので、opamの導入は諦めました。