へっぽこエンジニア、凡ミスキングの米蔵です。
数年前から友人が「関数型言語がイイ!PHPなんてウンコだよ!」と言ってくるので、そんなに良いのかと思い、とりあえず、OCamlプログラムをコンパイルしてブラウザで何らかの文字を表示できるところまでやってみる。
OCamlのメリットは、静的な変数(なんか矛盾してる感じだけど)による、バグの削減とか、いろいろあるらしい。とりあえず今後いろいろいじっていきたいと思います。
OSはLinux Mintです。
$ cat /etc/issue Linux Mint 17 Qiana
ダウンロードはここ。
OCamlのインストール
まずはこれが無いと始まらない的な。
「システム管理」-「ソフトウェアの管理」からOCamlで検索すればズラーっと出てくるので、そこからインストールするか、
コマンドで、
ocaml
と、いかにも既に入っているかのごとく打ち込むと、「まだインストールされてないから、これでインストールしろ。」と出てきますので、それを実行すればOK。これがどーこーというレベルではないので省略する。
opamのインストール
「おぱむ」とか「おっぱむ」とか呼んでいる、パッケージマネージャー。
ocamlの開発環境を作る上で便利なので、これを入れる。
wget http://www.ocamlpro.com/pub/opam_installer.sh sh ./opam_installer.sh /usr/local/bin
ただ、上記サイトのインストーラーは古いみたい。1.1.1が入ってしまう。
どこで入手したのか分かりませんが、1.2.0のopam_installer.shがあるので、それを使う。
./opam_installer.sh /usr/local/bin/
インストール後は必ず
eval `opam config env`
を実行する事。
ocsigenserver、その他のインストール
ocamlはapacheではなく、ocsigenserverというwebサーバ上で動くらしい。
そのため、共存すると自動的にportが8080になるようだ。
とりあえずopamが入っているので、ガスガス入れていきます。
opam install ocsigenserver
ちなみに、
opam list
で、インストールされているパッケージの一覧が参照できる。
opam --version
でopamのバージョン参照。
opam upgrade
で、パッケージの一括更新。
とりあえずopamと叩けば、ヘルプが見れるので、それを見ればOK。
で、とりあえず必要なパッケージでocsigenserverの他は
js_of_ocaml、dbm、eliom、lwt、tyxml
この辺でした。
エラーが出る場合は、removeしてreinstallしてみる。
大抵はopamのバージョンが古かったりするので、switchしてバージョンを最新のものにしてからinstallする。
opam switch 4.02.1
とか。
eliomでプロジェクト作成
eliomはocamlのフレームワーク?、とにかく新規のプロジェクトを以下で作成することができる。
適当なディレクトリを作って、その下で。
mkdir develop cd develop eliom-distillery -name hello
とやると、developの下にhelloディレクトリが作成されて、ファイルが作成される。
cd hello
でディレクトリに入り、
make test.byte
でコンパイルされ、ocsigenが起動する。
この状態で、ブラウザから
localhost:8080
とやると、
って感じでブラウザに表示されます。
他に、Geanyというエディタを入れた。うーむ便利。
ただ、作業環境については探求の余地がまだまだあるので、今後探索していきたいと思います。
ここに至るまでにエラー出たりとかエラー出たりとか試行錯誤があったんだが、省略した。
大抵はメッセージを読めば、何かのパッケージが足りないかバージョンが古くて対応できないかという事が分かります。
以上、ocaml開発環境メモでした。このエントリは今後大幅に加筆修正される可能性が大です。
何かの間違いで読んでしまった技術者の皆様、
「チッ、このド素人が。」という感じで構いませんので、大目に見ていただけると幸いです。