著作一覧 |
3日目は、安藤さんのparse.yの遊び方から。
最初のうちはともかく、ennnnnnnndには、そう来るか!というわけで受けまくる。というか、中田さんがelispでどうにかしようとちょっと乗り気っぽかったのが面白かった。
(が、nの数を数えるよりもendを書く方が楽チンなわな)
追記 http://redmine.ruby-lang.org/issues/5054
で、コピペで簡単に(bisonのこととか知らなくても)使えるよ、というのは、いろいろ良いプレゼンだなと感じ入った。さすが(元)カリスマだな。
で、ucnvさんのGlitch。これはどこまでまじめなのかどこまで本気なのかさっぱりわからないが、でも、おもしろかった。というか、変換クラスは便利そうだな。
で、そらさんの復讐戦を見たりして昼飯。
とやっているうちに、2日目に見てえらく気に入ったJRubyのブロックを無名じゃなくて匿名インナークラスの代わりに使えるやつの実装方法に思い当たったので、rjbを修正してみる。
途中、桑田さんのプレゼンがおもしろいので手が止まる。ワンライナーが重要なんじゃないよ、と念を押しまくっていたのが印象的だった。が、わかるような気はする。LINQをしばらく使うと、LINQ構文を使うよりもメソッドチェインで記述するほうが読むのも書くのもはるかに良いという感覚を持つに至ったのだが、おそらく同根のように思う。が、最初のあたりを聞き逃しているような気もするので、資料が公開されたらじっくりと味わおう。
どうにかできて、エノボさんに見せたら、implというのも見せられて、そっちも実装した(method_missingの第1引数がSymbolだというのをころりと忘れて、StringValueCStrに食わせてSEGVさせまくってびびった)。
その過程で、rb_class_inherited(super, klass)をなぜか、klass#inherited?(super)の意味と勘違いしてマクロを組んでいるバグを見つけてあせる。rb_funcall(super, rb_intern(">="), 1, klass)の形式に修正する。
で、結局、implも実装できた。
test/test.rbのtest_anoninterfaceとtest_impl。
とかやっているうちに、まつもとさんとそらさんの掛け合い漫才を含むキーノートが終わって、無事閉幕。
みなさん、お疲れ様でした。
本関係では、2日目におおと思って手に取ったが価格をみてとりあえず戻したAlloyの本が、酒井さんと遠藤さんたちによるものと酒井さんから教えられる。が、とりあえず、手を出さなかった。
抽象によるソフトウェア設計−Alloyではじめる形式手法−(Daniel Jackson)
(が、興味は尽きることはない)
ジェズイットを見習え |
rb_class_inherited_p()
おお、そんなものが。(と、喜んで使うとRubiniusにはなかったりするけど、その時はその時)
cool!