[SML 7537] Re: 第7回Smalltalk勉強会@京都

AOKI Atsushi atsushi @ cc.kyoto-su.ac.jp
2009年 5月 14日 (木) 00:21:10 JST


青木@京都宇治です。

Smalltalk 勉強会@京都を終えて、自宅に帰り着いて、ゆっくりし
てたのですが、報告を書かなければ…と思い立ち、マックに向かい
ました。

今日は、私的変数・共有変数・特殊変数と進んで、メッセージに入
ることができました。ところがですね、喧喧諤諤の状態、諸子百家
の光景を呈し、かなり疲れましたぁ〜。

ご参加いただいた方々の変数のイメージが、かなり相異するのだと
思いました。また、メッセージを送る、ということに関しても同様
ですね。

ブラックブックやイディオムでも、変数への代入という言葉を使っ
ていますが、正しくは束縛を使わなければならないのでしょう。オ
ブジェクト指向プログラミングに現れる変数を合点したいのならば、
もう代入を使っていては立ちゆかない、ということが今日の勉強会
でハッキリしました。

束縛を参照する名前の記述法が現れ、空間を仕切って名前を収める
作法が登場し、環境の中に新たな名前の空間を導入できる、という
事態の把握が望まれます。

最内スコープ束縛方式を暗黙とした Smalltalk プログラミングに
おいて、次の術語を明解にしておく必要があるのだろうと思います。

名前(name)
 :
拘束(intern)
束縛(bind)
解放(unbind)
 :
参照(refer)
代入(assign)
引用(quote)
 :
範囲(scope)
寿命(lifetime)
 :

また、変数を書き留める(note)には、外延を示す(denote)、内
包を示す(connote)、などが関係してきます。 仮にも名前体系の
構築ですからね、変数名やメッセージ名を用いたプログラミングは。

メッセージ送信に関しても、センダの具現が話題にのぼりましたが、
こちらもブラックブックやイディオムでは、レシーバはセンダに応
答する、と書いておきました。

応答できない場合もあることを念頭に入れておきませう。コンテク
ストが切れていたり、センダが世を去っていたり、シュード変数の
thisContext をいじれるようになると、多彩な状況を作り出して試
すことができます。もちろん、並行や分散のプログラミングでも。

------------------------------------------------------------
AOKI Atsushi          http://www.cc.kyoto-su.ac.jp/~atsushi/


SML メーリングリストの案内