Jane Street Summer Project 2009

Jane Street が毎年行っている、教育機関での関数型言語オープンソースプロジェクトへのファンディング募集が今年も始まります。(http://ocaml.janestreet.com/?q=node/57) 今年からは OCaml だけではなくて、他の関数型言語のプロジェクトも歓迎だそうです。

以下は全て主に伝聞による私個人の印象ですので、鵜呑みにせずに、詳しくは上のリンクからどうぞ。

応募には、プロジェクトを実際に進行させる学生さん(達)と、プロジェクト指導担当教官、そして当然ですがナイスなネタが必要です。ちなみに去年はこんなんでした:

  • ocamlwizard: OCaml IDE 環境を整備するためのコマンドラインツール。OCamlSpotter と思い切りかぶっている部分があるのですが、これは単に私がそんなプロジェクトがあるの知らなかったからです
  • multicore: マルチコアで OCaml をサクサク動かそう、というもの。今のところ OCaml だと fork しないとマルチコアの恩恵が受けられないので、欲しい機能ですよね。残念ながらすぐ使える、という性能の物はできなかったそうです。
  • menhir enhancements: menhir パーサ生成器の改良。私はこのパーサ自体よく理解してないのでコメントできないんだけど、Francois Pottier が指導してたからちゃんとした物に違いない。
  • qtcaml: Qt の OCaml バインディング。Qt インターフェースは LablGtk も作った惹玖が昔作っていたけど、なんだかうまくいかなかったと聞いた記憶があります。このプロジェクトでは、手始めに、C++からOCamlのインターフェースを自動生成する作業をしたそうです。私も Counter-Strike:SourceプラグインOCaml で書くために C++ のクラスインターフェースから OCaml へのバインディングを自動生成して遊んだことがありますが、まあ色々大変だろうと思います。
  • delimited overloading: OCaml に「取り敢えず使える」 overloading を入れようじゃないか、というプロジェクト。完全に syntax レベルで解決するので、SML の (+) みたいなのがプログラマブルになっている、そんな感じの物だと思います。ですから、理論的には面白いものではありませんが、凝りに凝った overloading を提案してもいまの OCaml 正式版に付け加わるとも思えないってのは私自身、身を持って体験しているので、こういう取組みには実は大きい価値があると思います。
  • easy ocaml: 教育用の OCaml を作るために機能を制限し、その代わり、より分かり易いエラーメッセージを吐くコンパイラを作るプロジェクト。確かに、OCaml(もしくは Caml Special Light) が出てから、Caml-light は教育用という位置付けになりましたが、今やちょっと古すぎるし、OCaml のエラーメッセージはわかりにくすぎるので、演習で使うのにちょうど良い言語が欲しいという動機は理解できます。

上のリストを見てみると、オープンソースプロジェクトを援助しようという物ですので、便利そうであれば、理論的にあまり新しい物でなくても大丈夫なようです。博士進学を控えている学生さんとかで、この際、修論のネタをちゃんとインプリして、俺の仕事はちゃんと使えるモノなんだ、と主張されたいという方に特にお薦めです。

応募〆切は3月末と、日本勢にとっては苦しい物がありますが、ご検討頂けると幸いです。ファンディングはこんな感じ:

How does funding work?

As mentioned above, funding will be determined project by project. As a rough guideline, we would like to fund students at a higher level than funding that would ordinarily be available for a summer research position, and to in addition to that fund professors at roughly a rate of $2k/month USD.

私はアメリカのこういうのの相場はわかりません。いくらなんでしょうね。

応募に受かった方々は Jane Street 持ちで夏のニューヨークを体験できます。是非是非ご検討下さい。夏のニューヨークはよいですよ。