OCaml をブラウザでクライアント側で実行できたら面白い †

という話になり、皆で検討した。

そういえば、アラン・ケイもそんなことを言っていた。

http://itpro.nikkeibp.co.jp/a/it/alacarte/interview0626/alan_5.shtml

Webの技術は遅々として進歩しない。例えば、言語「Logo」のことを記述したWikipediaのページをみても、そこでLogoのプログラムを実行することさえできない。今のコンピュータは、昔の「Apple II」に比べれば1万倍も高速化しているというのに。

どう実装したらいいだろう。検討で出た案。

  1. OCamlのソースを Javascript に翻訳して実行。
  2. OCamlにバイトコードを吐いてもらう。それを Jythonみたいに Javaのバイトコードにして、Javaアプレットとして実行。あるいは、javascriptで解釈して実行。

1.の案に集まったアイディア。

  • まずは、いきなり OCaml を目指さずに、MinCaml?くらいの、単純なソースを読み込むことを目標にしよう。
  • OCamlに構文チェックしてもらって、正しいソースだけを相手にすればもっと楽だ。
  • Scheme2Js が参考になりそうだ。

2.の案には、

  • OCamlに、 Java や、 .NET や、 Parrot のバイトコードを吐いてもらえないか。
  • あるいは、SpiderMonkey?のバイトコードとか? -- げんま? 2006-12-06 (水) 11:08:46
  • 今日ガリグ先生にこの話をしたら、 JavaCaml を教えてくれました。 OCamlのバイトコードをJavaのバイトコードに変換して、Java アプレットとして実行するのだとか。 -- げんま? 2006-12-06 (水) 16:11:00
  • JavaCaml?のサイトにも少し書いてありますが、OCamlのバイトコードの命令語は数も少なく難しくありません。JavaCaml?を手直しするか、直接バイトコードインタープリターをJavaScript?で書くあたりが一番簡単な気がします。(ただ、それだと、あまり型論理とかの勉強にはならないかも・・・) -- ogasawara? 2006-12-06 (水) 18:06:16

OCamlに別のバイトコードを吐かせる議論は

[Caml-list] Alternative Bytecodes for OCaml

http://caml.inria.fr/pub/ml-archives/caml-list/2004/08/87b02814a0a37006562b51b979dcaf47.en.html

でもあったようだ。


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS