今年のYAPC Asia 2013にはTypes and Perl Languageというタイトルで話をしようと申し込んだのだけど、リジェクトされそうな気しかしないので話そうとしていることの概要を書いておく。なお、トークのタイトルは名著TaPLのオマージュである*1。 以下のGoのコードをきちんと型付けされていると言って、異論を持つ人は少ないだろう。 func inc(x int) int { return x + 1 } では、以下のperlのコードはどうだろう? sub inc { $_[0] + 1; } 型がないという人もいれば、実行時に型を意識しているのだから型はあると反論する人もいるだろう。しかし、さらに別の見方として、このコードは先ほどの正しく型付けされたGoのコードから型の指定をとりはらったものだとも言える。という事は、もし、GoとPerlでプログラムを実行するルールが大差