ようやくバグ修正の先が見えて来た感じがしたので休憩がてら書く。
やってる事その1
今週はずっと linux 用 squeak vm のドラッグアンドドロップの問題をやっていた。具体的には、他のアプリにドロップする際にシリアライズが必要なのだが、それを、マウスがウインドウを出るタイミング(座標で検知)で行っていた。なぜかと言うと、他に上手い手段が思い浮かばなかったから、これには幾つも問題があった。
- マウスがウインドウを出る段では、他のアプリがどのフォーマットを理解するか確定しないので、image/png とかの決め打ちになる。
- 他のアプリが squeak のウインドウに重なっていると、マウスがウインドウを出るタイミングが存在しないので、シリアライズのタイミングを逸する。
- マウスがウインドウ境界をうろうろするだけでシリアライズが発生してしまう。
今考えると馬鹿な設計だが、書いた当時は Xdnd だけで一杯一杯で気が回らなかった。他のプログラムを参考にしようと思っても、例えば Gtk ではコールバックを使ってシリアライズと転送を行うんだけど、コールバックの出来ない squeak ではこの技は使えない。という事で、新たなイベントを発行して、実際にデータが必要になるタイミングを取得するという確実な方法に変更中。
やってる事その2
あと、タイル値を変更するのに使う上下矢印が小さ過ぎるというので、大きくポップアップするのもやっていた。個人的には、我慢できないほど小さく無いと思っていたので消極的だったのだけど、押し切られた形。失敗したのは安定バージョンである 2.2 に入れてしまった事。絶対テストが足りないと思っていて、実際バグだらけなんだけど、これも押し切られた。強い人になりたい。
日常
昨日 LACMA でダリ展に行った。映画の都ロサンゼルスだけあってダリの映像作品に焦点を当てた展覧会で、とっても面白かった。ダリとは直接関係無いが、ディズニーの初期の気違いじみた映像も参考として見れるようになってあって、巨大化するピアノやピンクの象が踏まれてラッパの音を出すアニメが凄く良かった。
興味のある事
日本に帰る前にパイ計算の事を書こうとしてほったらかしになっている。パイ計算というのは非同期なプロセスをモデル化する方法らしい。ラムダ計算みたいに、ものすごく要素が少ない。プロセスを扱う話をしてると、どうも特定の実装の話がごっちゃになって気持ち悪い気分になる事がよくあるけど、パイ計算はごっちゃになりようが無いくらいシンプルなので大変気分が良い。これは超凄い。
俺言語は惜しいところまで行った(つもり)なので、今年中にけりをつけたい。あとアレックスが JS 用の OMeta を作ってくれたので、春くらいまでに S 式じゃない文法を持ったカッコイイ言語が出来ればと思う。
あと、来月 C5 という学会があってその準備をしないといけないらしいのだが、これはかなり頭が痛い。何が何だかよく分からない。