vimでOCamlの開発環境の構築

どうやっても、typerexをうまく動かせられなかったのでvimでやることにした。

構築した環境はMac OS X 10.9.2です。Homebrew導入済みの前提です。

OCamlとOMake、OCamlSpotterのインストール

$ brew install opam
$ opam init
$ opam switch 4.01.0
$ opam install omake
$ opam install ocamlspot

opamはOCaml自体やライブラリをインストールしたり管理出来るツール。Rubyでいうとrvmとgemがセットになった感じのツール。

プロジェクトの作成

## omake 初期化 $ mkdir project $ cd project $ omake –install

OMakefile編集

``` .PHONY: all install clean run

USE_OCAMLFIND = true

FILES[] = main

PROGRAM = main OCAMLFLAGS += -annot -bin-annot .DEFAULT: run

all: $(OCamlProgram $(PROGRAM), $(FILES))

clean: rm -fr *~ $(PROGRAM) *.opt *.cmi *.cmx *.o *.omc *.cmt *.annot

run: all ./$(PROGRAM) ```

main.mlを-annot -bin-annot オプション付けてコンパイルし、コンパイル後に実行もするという設定。

main.ml作成

``` let hello name = print_string name;;

hello “My Name\n”;; ```

コンパイル&実行

$ omake ``` *** omake: reading OMakefiles *** omake: finished reading OMakefiles (0.00 sec) - build . <run> + ./main My Name *** omake: done (0.02 sec, 0/1 scans, 1/6 rules, 0/41 digests) ```

vimの設定

## the-ocamlspotプラグインを入れる .vimrc NeoBundle 'cohama/the-ocamlspot.vim'

NeoBundleをvimで使えるようにしておく必要があるので、次のサイトなどを参考にする。 本の虫:neobundle.vimのインストール方法

omakeでファイルの変更を監視

$ omake -P

この状態で、vimでmain.mlを編集して保存すると変更を検知して自動でビルド実行される。 またビルド時に-annot -bin-annot オプションを指定することで生成されるファイルを、the-ocamlspotプラグインが読み込んで解釈してくれる。 main.mlのhelloの上にカーソルを置いて、しばらく待つとvimの下側にhelloの型が表示される。このプラグイン自体の解説は作者様のこの記事で。

OCaml のソースコードの型を表示したり定義にジャンプしたりする Vim のプラグイン作った - 反省はしても後悔はしない

Published: March 07 2014

  • category:
blog comments powered by Disqus