http://soutaro.com/ocamlhelp/ 0.2

OCamlHelpは、ocamldocで生成した関数名とかのリファレンスをWebブラウザからインクリメンタル検索するためのツールです。JavaScriptで書かれていますので、Firefoxが動く環境ならどこでも使えます。ocamldocのリファレンスをそのまま利用しているのではなく、Rubyスクリプトで一度中間形式に変換してから利用しているので、HTMLで記述されたヘルプならどんなものでも利用できるはずです。そのうちJavaDocからのインポートツールとか作るかも。

ちょっと更新しました。全項目のリストを表示するときに、時間がかかっていたので、リストへの登録を遅延するようにして、レスポンスの改善。

高速化の際には、次のような関数の実行時間を計測する関数を使いました。

function profile(hook, f) {
    return function aaa() {
        var x = new Date();
        var ret = f.apply(f, aaa.arguments);
        var y = new Date();
        hook(y-x);
        return ret;
    };
}

argumentsとかapplyとかの使い方の練習っぽいプログラム。次のようにして使います。

function hoge(x,y,z) {
  return x+y+z;
}

hoge = profile(function(n) { alert(n); }, hoge);

これで、以降のhogeの呼び出しごとに、かかった時間をalertで表示します。alertはうざいけど。

JavaScriptについては、研究室の後輩のYくんとNくんに、いろいろ教えてもらいました。どうもありがとう。