kmizuの日記

プログラミングや形式言語に関係のあることを書いたり書かなかったり。

Scala基礎勉強会行ってきました

Scala基礎勉強会という勉強会が、先日名古屋で行われたので行ってきました。Scala基礎勉強会というと一見入門勉強会のように見えますが、基礎は基礎でも内容はbasicじゃないのがポイントです。イベントページを見るとわかるかと思いますが、ぶっちゃけて言うとScalaに関する論文を発表者が選んで紹介しよう!というものです。

私は

Capabilities for Uniqueness and Borrowing, Phillip Haller, Martin Odersky, ECOOP'10

という論文を読んで紹介しました。簡単に言うと、

Actorライブラリにおいて、Actor間で安全にメッセージパッシングするにはオブジェクトがimmutableでなければいけないよねー。でも、mutableでもActor間でオブジェクトが共有されなければ問題なっしんぐ。で、そのためにあるオブジェクト群への参照が一つだけしか無いことを保証するための型システムを設計しました。型システムの健全性も証明しました。あと、Scalaのコンパイラプラグインとして実際に実装もしました。

という話です。私による紹介スライドはこちらです。口頭で補足説明する事が前提の資料なのでかなりはしょっていますがご容赦を。参加者の大部分が論文は読み慣れていないだろうと確信していたので、型付け規則とか証明の話には極力触れずに紹介するのにちょっと苦労しました。

他の方の発表や、勉強会の雰囲気についてはTogetterにまとめがあるので、こちらをみるとよいかと。

名古屋はちょっと遠かったですが、論文紹介勉強会は大学院生時代を思い出して、懐かしい気分に浸れました。

ちなみに、会場でも強調したのですが、論文を読むときはまずAbstractを読むのが手っ取り早いです。Abstractは論文全体の内容を短くまとめたものになっているので、それを見て面白そうだったら読むのもよし、つまらなければ放り投げるのもよしだと思います。また、興味のある部分だけ斜め読みしてもいいです。もちろん、研究者にとっては論文のサーベイは仕事の一部ですので、少し事情は違いますが、非研究者の方はもっと気楽に論文を読むといいと思います。特に、コンピュータサイエンスの論文は、Web上で公開されており(一部はACMなどの学会に登録しなければ読めないものもありますが)、無料ですぐにアクセスできることも多いです。