ごまだれ日記

プログラミングの技術メモとか

MacでOCamlを使うための設定

関数型言語を何か一つ身に付けたいと思い、OCamlを勉強しています。

評判が良いらしい「プログラミングの基礎」という本を教材として使ってます。(実際に学校の授業の教材として使われているらしい)

www.amazon.co.jp

とりあえず実行環境をインストールして動かしてみているものの、普通にインストールしただけだと、対話モードで動かす時に以下の問題があるようです。

  1. カーソルキーを押下すると変な文字が入力され、ヒストリを表示したりカーソルを動かしたりできない
  2. 日本語がうまく表示されない

1の問題は、rlwrapをインストールして下記のようにコマンドをラップすると解消します。

rlwrap ocaml

ただ、毎回そうやって入力するのは面倒なので、.bashrcに書き込んでおくと便利です。

alias ocaml='rlwrap ocaml'

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にしなくても大丈夫みたいです。

 

参考、もといパクリ元

caml2html - OCamlを始める - Qiita

Mac(OSX)で.bashrcを編集する