What I got in YAPC::Asia 2009, notes, and todo

今回初めてYAPC::Asiaに参加した。記憶が鮮明なうちに,得たもの,考えたことをメモしておく。ハッカソンにも二日目のみ参加したが,時間があまりとれず,特に成果は出せなかった。

AnyEvent/Coro

AnyEvent/Coroのイメージがつかめたのはとてもよかった。特にid:mala氏の高速になる理屈はとても分かりやすかった。具体的にどのくらい高速になるか試してみたい。

Moose高速化計画

nothingmuch, rafl, SartakとMooseについて話せたのは非常によかった。Moose高速化計画の報告がYAPC前にできなかったのは失敗だったが,将来に向けていろいろ話はできた。

New syntaxes

私はDevel::Declareが実用的だとはどうしても思えなかったのだが,この考えは改めることになった。たとえば,もし5.12で新規構文を導入したとしても,Devel::Declareで5.10以下で互換性を確保できるならば,新規構文導入のリスクを抑えられよう。

今のところ考えている新しい構文は以下の二つ。

package Foo{}構文:

package Foo{
    # ...
}
# 上の書き方は以下と同じ
{
    package Foo;
    # ...
}

block sugar構文:

$obj->method(@args){
    # ...
};
# 上の書き方は以下と同じ
$obj->method(@args, sub{
    # ...
});

subroutine(@args){
    # ...
};
# 上の書き方は以下と同じ
subroutine(@args, sub{
    # ...
});

この二つの構文は新しいキーワードを導入せず,既存の構文と重複しないため,古いコードを壊すこともない。これは割と本気に考えている。

(追記)
block sugarはCPANにありました。miyagawa++ gugod++

More core hacks / Perl6

Perlコアをもっとハックたいと思ったのだが,突き詰めると結局のところPerl6早くほしいね,ということになることが分かった。とはいえ,core hackは少し思うところがあるので,積極的にアイデアを形にしたい。

Bug reports

id:charsbarさんのトークによれば,バグをブログの記事にするだけで放置するのは良くないとのこと。また,記事にしたあとその問題が修正された場合は,その記事内で報告したほうがいいようだ。検索でその記事に来た人はその記事しか見ない可能性があるからである。