Nihongo7

id:propellaな山宮さんがSqueak-jaに「しばらく激しくアップデートすることが予想されます」と書いたときは、「そこまで激しくはしなくても良いだろう」と思ったりはしていたのですが、どうやら激しくアップデートすることになってしまったようです。

 必要なのは、やっぱりテストです。某Aさんはすごいです。1時間ほど拘束して試してもらった結果、29くらいの問題が出てきました。

 今日は朝からそれらの修正です。

屈折している?

どうやら屈折しているらしいid:io_oiな匿名希望さんの疑問(http://d.hatena.ne.jp/io_oi/20050314)。

もうちょっと書いてくれると答えやすいですが、インタープリタが動いているときにはオブジェクトは動かされてしまうものの、動くかもしれないオブジェクトへのポインタをどこかの大域変数にしまったまま終了するようなプリミティブでなければだいたい何をしていても大丈夫だと思います。

が、signalSemaphoreWithIndex()を複数の人が同時に呼べるか、というのは今の実装では原理的に言って危険ですね。signalSemaphoreWithIndex()の呼び出しは常に直列化されるようになっていないと。ということは、OSレベルのスレッドに対してセーフな処理を作るには、OSレベルの排他制御機構でsignalSemaphoreWithIndex()をくくらないといけないでしょうね。ただ、そこさえ抑えれば大丈夫だとは思います(signalSemaphoreWithIndexの実行が本当にオーバーラップするような状況は非常にまれだとは思いますが、原理的には)。

MVC

昔自分でもMVCを使っていたころは、Morphicの事しか考えていない修正によってMVCが壊れるたびに「まったく、自分さえ良ければいいってのかよ」と怒りに打ち震えていたものだが、今思うに最近俺自身がそういういやなやつになっていたな。

メーリングリストに投稿するMVCユーザーはBoris Gaertnerくらいしかいないのだが、彼はヘビーユーザーなのでなかなか頼りになる男である。

朝起きたらBorisから3.8 gammaでMVCが動かない、という静かな怒りを含んだメール(
http://lists.squeakfoundation.org/pipermail/squeak-dev/2005-March/089824.html)が来ていたので(気のせいかもしれないが、彼にしては寡黙なメールすぎた)、ちょっとびびってパッチをポスト。どうやらうまく動いたようでなによりである。

http://lists.squeakfoundation.org/pipermail/squeak-dev/2005-March/089834.html

毛玉論文

大作(?)だった論文も、「実装」の項目をばっさりと切らざるを得ませんでした。とりあえず量としてはリミットの8ページに収まりましたが、まだ前半を切って後半を膨らます作業は必要そう。