その名もOpa
http://opalang.org/#slides=1
初見の印象は
ネタもとのmoongiftの記述から解釈するなら
http://moongift.jp/2011/09/20110913/
目的は、WEBサービス実装のバイナリパッケージングが目的なのかと思ったのですが。
コンパイルすると、単一ファイルになってしまうらしい。サーバ側に置いて実行すると、WEBアプリケーション入りWEBサーバとして動作し、HTML及び必要なjavascriptを生成するらしい。これだけ聞くと便利そうに見えます。
http://doc.opalang.org/manual/A-tour-of-Opa
サーバ側実装と、クライアント側実装を混在して記述できるらしい。普通に作るとjQueryやら$_REQUESTやらでどうにかする訳ですが、Opa上ではタダの関数呼び出しとして表現できるというなら、開発効率は確かに上がるかも知れません。
クライアント&サーバで、記述言語を統一する。という意味ではサーバサイドjavascriptが選択肢に入る気はしますが、プロダクトが3つしかないみたいですね。
- Node.js
V8エンジン上で実行する環境 - Rhino
JavaVM上で実行するJavaScriptの言語処理系 - Aptana JaxerAptana社によって2008年1月からオープンソースライセンスで配布されている環境
http://doc.opalang.org/manual/Hello--bindings----Binding-other-languages/Binding-Ocaml-and-Javascript
ひょっとして、「コンパイル」の先はOcamlなのか?
http://opalang.org/see.xmlt
色々、サンプル?実装があるみたいですが、おっとソースを見ることも出来ますね。githubに居ました。
https://github.com/venator/OpaWiki/blob/master/src/min_chat.opa
どうなんだろうコレ。
思ったよりはるかに読みにくいなあ。
moongiftはともかく、日本国内の反応はかなり冷やかですね。
http://developers.slashdot.jp/story/11/08/30/1123203/Web%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E9%96%8B%E7%99%BA%E5%B0%82%E7%94%A8%E8%A8%80%E8%AA%9E%E3%80%8COpa%E3%80%8D