Smalltalk(Squeak/VisualWorks/etc.)総合スレ
■ このスレッドは過去ログ倉庫に格納されています
0245渡邊克宏
NGNGSmalltalkは、データ全体の空間(imageといいます)が一体になっている
という側面があります。imageのsnapshotを撮影して後に再生する機能は
環境に実装された機能ではなく言語仕様の要求です。また、以下のような
膠着性も隠れて存在しています。
[データの膠着性(agglutination)]
Smalltalkのデータは、自分のクラスを知っています。だから
aObject class
を評価すると、aObject のクラス自体(名前でなくクラスの実体)が
得られます。あるクラスからは、クラスシステム全体が参照できます。
さらにそこから、その瞬間に生きている全オブジェクトを参照できます。
(今はできない実装もあるかもしれません。)
つまり、Smalltalkの1個のデータは、独立してencapsulateされた実体
であるかのように見えて、実は背後にシステム全体の後ろ盾があります。
Lisp programmerがあるデータへの参照をつかまえたとしても、
そのLispシステムの全データを参照するのは無理です。Lispは
プログラマが細かくcellの参照関係を制御する言語だからでしょう。
■ このスレッドは過去ログ倉庫に格納されています