多言語化Squeak3.8a

Scottの不思議な言葉に満ちた発表を聞きつつ、MichaelとNedが試していたSqueak3.8aでのバグを追いかける。プロジェクトを読み込むときにはオブジェクトのグラフをひたすら再帰呼び出しで呼び続けるのだが、もう機械になったつもりでstep stepである。

結局PositionableStream>>skip:の実装がANSI compatibilityを目指したがために狂ってしまっていたのが原因と言うことがわかった。skip: -1というとファイルポジションが予期できない幅で変わっていたのだ。こういうのがGuide時代におけるSqueakの落とし穴だよなあ。3.6まではちゃんと動いていたものが、3.8では動いたり動かなかったりして、よく見たら些細で無実そうにみえる他の所の変更によって痛い目を見させられるという。まあ直せるから良いけど。