2005-08-01から1ヶ月間の記事一覧

キーの配置

ピアノとかって白い鍵盤と黒い鍵盤があるわけですが、あれって何故そうなっているのでしょうか。平均律とかいうやつ(単純にlogスケールで周波数を等間隔に区切ったやつ)だと、そんなものない方が、例えばギターとかと同じように、周波数比が同じ和音を単に手…

日常

数週間前に交差点で子猫を見た。 激しく車が行き交う中を、あろうことか、子猫が歩いていたわけです。 あー、こんな所をウロウロしていたら轢かれちゃうよ!と思ってたわけですが、 やっぱり轢かれちゃってたようです。 今日その交差点の脇で、変わり果てた…

Seaside

とりあえずcall/ccについて学習。 フローの復元は分かったが、オブジェクトの復元はどうやるんだ?っていうのが次の課題なんでしょう。 そんなところを読むより先ずは実際のseasideの使い方を覚える方が先なのか!?

test | a b | a := 16rFFFFFFFF. b := 4294967295. ^ a == b. とかいうやつを作ってみる。 バイトコードを見てみると 9 pushConstant: 4294967295 10 popIntoTemp: 0 11 pushConstant: 4294967295 12 popIntoTemp: 1 13 pushTemp: 0 14 pushTemp: 1 15 send:…

Squeak

こういうのをパースするときのことを想像してみる。 私なら、コード上の文字列という在り方を変えないままにリテラルを比較するより、 リテラルは正にそれをパースしているSqueak上でのオブジェクトとして存在せしめ、 その上でそれらの「同値性」を比較する…

Squeak

a := 16rFFFFFFFF. b := 4294967295. a == b. これをdo itするとどうなるか? 16rFFFFFFFFはLargePositiveIntegerだから、 1行ずつdo itするとfalseになる。 では、これを纏めてdo itするとどうなるのか? リテラルフレームとかいうのが利いてくるからtrueな…