コンパイル時に決まらないので、 ささだくんには不評そうだが、 local visibilityのアイディアで実装してみる。
おおむねうまくいくのだが、test suiteを実行すると rss/maker辺りのテストでへんなエラーが出る。 が、test suiteを個別に実行すると再現しない。
こういう再現性のないバグは大抵GCが原因なのだが、 今回はちょっとおかしい。
が、メソッド探索ルーチンには間違いはない。 一晩格闘してメソッドキャッシュに問題があるとわかる。
でも、今考えたら「本来と違った別のクラスのメソッドを呼び出している」 という時点でメソッドキャッシュが怪しいのは明らかなような気がしてきたな。 後で冷静に考えるとすぐ分かることでもデバッグしている最中には分からないものだな。
それじゃあんまりデバッグしてる意味ないじゃん。
が、メソッドキャッシュのどこがおかしいのかわからない。 なにしろキャッシュを壊している時と問題が発生する時は全然違う時なので 問題が発生している場所を確認することができない。
お昼過ぎまで自宅で格闘していたのだが、とうとう分からない。 あきらめて会社に向かう。
が、会社についてフレッシュな気持ちでPCに向かうと5分で解決できた。
自宅でデバッグしていた時間は意味がなかったということか。
pointy-haired bossに「do not work harder, work smarter」とか言われそう。 ぐすん。
John Sirbuという人がGuidoに「マーケティング重要」、「mobileに注力しては」と進言した話。
いや、Python陣営にそういう「焦る」気持ちを与えるというのは、 Rubyも有名になったものだな。Railsのおかげだけどな。 だけど、この人(John Sirbu)ずっと「"R" language」と呼んでRubyを名指ししてくれない。 Bruce Tateが「R」言語をほめたとは 思えないんだがなあ。
あ、マーケティングは重要だと思うよ。昔は軽視してたけど、 最近はもうちょっと重要だと思うようになった。 Pythonに適切なマーケティングがどのようなものかは分からないけど。