今週の OCaml nagoya で、「OCaml をブラウザで実行できたら面白い」という話になり、皆で検討した。 そういえば、アラン・ケイもそんなことを言っていた。 http://itpro.nikkeibp.co.jp/a/it/alacarte/interview0626/alan_5.shtml Webの技術は遅々として進歩しない。例えば、言語「Logo」のことを記述したWikipediaのページをみても、そこでLogoのプログラムを実行することさえできない。今のコンピュータは、昔の「Apple II」に比べれば1万倍も高速化しているというのに。 どう実装したらいいだろう。検討で出た案。 OCamlのソースを Javascript に翻訳して実行。 OCamlにバイトコードを吐いてもらって、 Javascript で作った VM で実行。 1.の案に集まったアイディア。 まずは、いきなり OCaml を目指さずに、MinCamlくらいの、単純なソースを読み込むことを目標にしよう。 OCamlに構文チェックしてもらって、正しいソースだけを相手にすればもっと楽だ。 Scheme2Js が参考になりそうだ。 2.の案には、 OCamlに、 JVM や、 .NET や、 Parrot のバイトコードを吐いてもらえないか。 それらの VM を javascript で実装できたら、夢が広がる。 ということになった。 OCamlに別のバイトコードを吐かせる議論は [Caml-list] Alternative Bytecodes for OCaml http://caml.inria.fr/pub/ml-archives/caml-list/2004/08/87b02814a0a37006562b51b979dcaf47.en.html でもあったようだ。 わざわざ javascript で VM を作らずとも、 OCaml がTamarin Projectのバイトコードを吐くようにすればいいのか?