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

AOKI Atsushi atsushi @ cc.kyoto-su.ac.jp
2009年 5月 14日 (木) 08:40:19 JST


青木@上賀茂です。

Tomohiro Oda さんは書きました:
> これらに加えて、指し示される側について、
> 識別子(id)
> 参照(reference)
> 番地(address)
> 領域(memory block)
> ビット列(bit sequence)
>> 型(type)
> クラス(class)
> といったあたりを整理する必要がありそうですね。

はい、そう思います。

昨夜も板書したのですが、プログラミング言語Cで「x += 1;」とい
う記述(note)をしますでしょ。この記述に現れているxは少なくと
も2つことを表現しています。

xに1を足してxに入れる「x = x + 1;」と書き改めれば、もっとハッ
キリします。右辺のxはxと名づけた内容ですが、左辺のxはxと名づ
けた番地になります。

記述が同じなのに書き記す所(この例の場合、右辺であるか、左辺
であるか)によって異なっていることを、腑に落とさずに歩みを進
めると、参照操作が出現したときに失速します。*xも&xも区別がつ
かず、**xや***xで「きゃぁ〜」と声を出し、「ポインタは難しい」
とぬかすことになります。:-)

単写(複写をしても同値)が保たれる拘束、等値を云々しながらの
束縛、等々へと通じている道を見失いますね。

> 認知言語学では名前に関しては典型例を示す(prototype)ということにも注目します。
> あと、同じく認知言語学では、Meaning is a process rather than a discrete 'thing'
> that can be 'packaged' by language.などと言われていて、プログラミング言語から
> 見ると、「なるほどねえ」と納得できることが多々あります。
> また、意味がプロセスである以上、CPUと脳という2種類のプロセッサそれぞれ向けに
> 定義される「意味」があるはずだと思いますが、プログラミング言語の人間向けの意味論
> の研究は残念ながら今のところあまり見かけません。

まったくもって仰せの通りです。

メッセージ名(メッセージセレクタ)とメソッドの束縛が動的に行
われるようになって久しいですが、いまやクラス名(キャピタルシ
ンボル)とクラスの束縛さえも動的に行われる状況となっています
ので、egaerからlazyへと時代が移っているのだと思います。

あなたの値は何ですか?と問われるまで(valueというメッセージが
送信されるまで)評価や束縛をサボって(遅らせて)いるのが普通
になりましたから、意味がプロセスという観点からすれば、まとめ
るのも容易ではないでしょう。

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


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