毛玉
現実逃避的に毛玉の次のステップについて考えていることを書く。
今のバージョンはかっこ悪いやり方であるスクリプトを並列要素であるタートルにapplyしている。問題は、仮にワールドスクリプトであっても、その中にタートルのアクションが入っている場合はそのアクションは並列に実行され、そのアクションの処理が終わったところで"join"してワールドアクションを実行するようになっているべきである。
タートルのアクションと言っても、examplerとタートルという違うものが実行しなくてはならないので、まるまる単純にできるわけではなく、何らかの方法でひとつのタイルから作られた文を「2回」違うものに対して実行する必要がある。
もうひとつの場合としては、タートルスクリプトの中にワールドアクションが入っている場合がある。この場合にもそのようなアクションを1度だけ実行するようにすれば、実際にはタートルスクリプトとワールドスクリプトの区別などはなくなるわけであるが、一方、タートルの個数回だけ実行してもらいたい、という需要もあるような気はするので、ちょっと検討が必要かもしれない。
とにかく、実際にはひとつのスクリプトのひとつのメソッド軌道のように見えるけど、実際には複数の要素に対して並列に実行される、というモデルを実現する小さなトリックとして"selvs"というやつを考えている。
selvesというのはselfの複数形だが、CroquetでもあるCroquetオブジェクトにメッセージが送られたときに、それを複数のリモートホスト上にブロードキャストしたいときがあるので、送られたメッセージをインターセプトして、'selves'というインスタンス変数にバインドされているオブジェクトに送信しなおす。selvesがそこで適切にブロードキャストを行うので、コードの見た目はほとんど変更することなく、メッセージの実行形態を変えているわけである。
毛玉でも、そういう名前のインスタンス変数をexamplarに用意し、タイルからテキストコードを生成するときにselfの代わりにselvesという文字列を出力するようにする。selvesでは指定されたメッセージをexamplerとタートルたちに対して実行するわけである。
さらには今のオブジェクトのレイアウトの変わりに、インスタンス変数ごとに配列に入れた形にして、ベクトルプロセッシングのようにしたいと思っている。そのときにもこのトリックを維持したまま変更していけるだろうというところが強みだと思う。
問題は今のeToys scriptingがタイルからコードを作るところがぐちゃぐちゃとしていて、変更したときに「本当にこの変更は正しいのか」という理論的裏づけがないところなんだよなあ。まあ動けばよい、という立場はありだけどね。
多分これは他の人が読んでもかなり日本語的にも意味不明な項目だと思うけど、まあとりあえず。
仮称CRLのプロジェクト
あー、ちょっと前に作ったはずのプログラムなのに、そのドキュメントを書くのがこんなに億劫だとは。困った困った。
記念式典
id:umayのばいげんが書いているhttp://d.hatena.ne.jp/umay/20040624#p1の記念式典は面白そうでしたね。日本にいたら行きたかったような気はしています。
8月のChicago行き
8月にはViewpoints ResearchとColumbia Collage Chicagoが主催するSqueakFestという会合がChicagoであります。
http://www.squeakland.org/images/news/html/sqfest04.htm
こちらに行くための航空券もunited.comで取ったわけなのですが、LAXとORDの往復で$236というやつが出てきたので、「しめしめ、こいつは安いぜ」とばかりに時間を確認せずに買ってしまったところ、後でよく見たら出発が朝6:00だというとんでもないフライトでした。とりあえずはこれで行っておこうと思いますが。むむ、今見たら同じやつが$216になっている。がーん。
また帰国
7月6日から26日まで日本に帰ります。誰にとはなく。暇な人は何かを検討してみてください。
United.comで最初にチケットを買ったときには帰りはcode shareのANAになりました。ですが、アップグレードしたかったので電話したところ、帰りもUnitedで帰れるやつがあるから取り直せ、ということになりました。最初のやつはcode shareなので紙のチケットが送られてきたのですが、それをとあるアドレスに送り返せ、と言います。そのアドレスが、"WHQAK"とか"Our United Commitment"とかとてもアドレスのようには思えない語をたくさん含むようなものだった上に、担当してくれた人の訛りがなかなか強烈だったので、「これはいったいなんなのだろうか」ととっても疑問に思いながらメモを取るはめになりましたとさ。