MacでOCamlを使うための設定
関数型言語を何か一つ身に付けたいと思い、OCamlを勉強しています。
評判が良いらしい「プログラミングの基礎」という本を教材として使ってます。(実際に学校の授業の教材として使われているらしい)
とりあえず実行環境をインストールして動かしてみているものの、普通にインストールしただけだと、対話モードで動かす時に以下の問題があるようです。
- カーソルキーを押下すると変な文字が入力され、ヒストリを表示したりカーソルを動かしたりできない
- 日本語がうまく表示されない
1の問題は、rlwrapをインストールして下記のようにコマンドをラップすると解消します。
rlwrap ocaml
ただ、毎回そうやって入力するのは面倒なので、.bashrcに書き込んでおくと便利です。
Macの場合はデフォルトでは.bashrcがありませんが、ホームに普通に作成すればOKです。
あと、.bash_profileも作成し、下記のような記述をしないと読み込んでくれないようです。
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
2の問題については、元の本にはターミナルのエンコーディングをEUCにするようにと書いてあるのですが、それでも一部の文字は化けたままだったので、他の方法で回避します。
ocamlが起動時に実行する.ocamlinitというファイルを作成し、以下の記述を追加すると解消します。
let printer ppf = Format.fprintf ppf "\"%s\"";;
#install_printer printer
#install_printer printerはコメントではなく、必要な記述です。
なお、この方法を使う場合はターミナルのエンコーディングはEUCにしなくても大丈夫みたいです。
参考、もといパクリ元