FLOPSから帰宅

しました。報告は暇なときに少しずつ追記します(アンテナしづらい?)。こういう学会にしては「理論」より「応用」っぽい話が多かったかも。「Haskellで…というライブラリを作りました」みたいな。

http://nicosia.is.s.u-tokyo.ac.jp/FLOPS2006/program.html

以下は発表を抜粋して報告。論文は、タイトルや著者の名前で検索すれば、大抵はWebにあると思います。

  • Guy Steeleのinvited talk

JavaC++を改良した(ことになっている)みたいにFortranを改良しよう!という話。FLOPSのinvited talkだからという部分もあるだろうけど、やっぱりGuy SteeleはSchemeというか関数型言語ラブラブらしく、いかにこっそりと関数型言語の機能を導入するか、という話も。折角なのでWadlerたちと一緒に2時間ぐらい立ち話をしたり、banquetで同じテーブルになったりしました(席は遠かった)。有名人なのでどんな人かと思ったけど、意外と普通の研究者だったかも。いや、すごい人であることに変わりはないが。

  • `Scrap Your Boilerplate' Reloaded. Ralf Hinze, Andres Loeh, Bruno C. d. S. Oliveira.

Haskellのtype classでgeneric programmingをする話(は前からあるけど、その続き)。おもしろいけど、この系列(というかHinze)の論文って、ちょっとcontributionがincrementalすぎるような…(笑) 昔のFLOPSとPOPLの論文なんか、ほとんどdouble submissionだったと思うのだが。

  • Framework for Extended Algebraic Data Type. Martin Sulzmann, Jeremy Wazny, Peter J. Stuckey.

HaskellというかGHCとかの「やさしいdependent type」であるGADTの話(はたくさんあるけど、その一つ)。これもいろいろな人がちょっとずつ違うことをやっていて、よく読まないと僕みたいな素人には区別がつかないっす…

  • Lock Free Data Structures using STMs in Haskell. Anthony Discolo, Tim Harris, Simon Marlow, Simon Peyton Jones, Satnam Singh.

並列処理で便利な「トランザクション変数」をHaskellモナドで実装してウハウハという研究(?)の実験。なんだけど、プログラムは1つだけで、すごく単純だし、最大で8 CPUっすか…。PCだとそれぐらいが限界なのか、72 CPUのSMPマシンとか普通にころがっている私の育った環境が異常なのか。

  • A Computational Approach to Pocklington Certificates in Type Theory. Benjamin Gregoire, Laurent Thery, Benjamin Werner.

このブログに何度も登場した定理証明器(ないしdependent typeのある関数型言語)のCoqで、ある数が素数である証明を小さく表現する話。Werner自身が発表で言っていたようにcuteな小ネタ。

  • デモセッション

上田先生の並行言語LMNtalと、大堀先生のSML#のデモ。実装がちゃんとできているのがすごいです。

  • Peter Van Royのinvited talk

OzとかMozartとかいう分散言語をやっている人のお話。うーん、いろいろな機能が内蔵されていて、おもしろくないわけではないんですが、Erlangあたりの話と同じで、あんまり頭を使うとか深く考えるとかいう感じの話ではないかも…。どうも言語機構の計算能力というか表現能力についての専門知識がないようで(「call/ccと一個のstateで任意のモナドが表現できる」というFilinskiの有名な結果とか)、発表での発言に嘘が多くて(「XXXはYYYでは書けない」系)、質疑応答でつっこまれまくっていました(「Turing完全な言語はすべて等価だから相互に表現できる」という問題ではなくて、Felleisenの有名な論文みたいな意味で)。この人の書いたテキストもそんな感じという噂。

ちなみに、主にツッコミを入れていたのは例の人だったり。こういうツッコミは得意な人に任せておくと気楽(?)。

まだつづく。