Path: katsu From: katsu@sra.co.jp (WATANABE Katsuhiro) Message-ID: Date: 18 Jun 1996 14:23:03 GMT Organization: Software Research Associates, Inc., Japan In-reply-to: NITTA Minoru's message of 23 May 1996 01:13:55 GMT Newsgroups: fj.lang.st80 Subject: Re: When are the literal objects created? References: <4o0e4j$a5d@enicom.rd.enicom.co.jp> Distribution: Mime-Version: 1.0 (generated by tm-edit 7.47) Content-Type: text/plain; charset=ISO-2022-JP フォローの遅さが議論の妨げになっていたらごめんなさい。 記事 <4o0e4j$a5d@enicom.rd.enicom.co.jp> で NITTA Minoru さんいはく > Smalltalkでリテラル式で参照されるオブジェクトは、いつ生成されるのでしょうか。 > たとえば 1 + 2 があったとき、1,2で参照しているオブジェクトは、 > (1)この式が評価されるときに生成される > (2)すべての整数に対応するオブジェクトがあらかじめ存在している > のどちらなのでしょうか? > (インプリメントの話ではなく、Smalltalkではどう考えているか、ということです) 新田さん、Smalltalker として復活ですか。 (1) のように考えると、1 + 1 ではオブジェクト1が2回生成されて複数あるこ とになるのでは。これは実際の Smalltalk と矛盾します。実際の Smalltalk では、記号 1 が参照するオブジェクトはすべて identical で、かつ(3 - 2 のような)計算の結果得られたオブジェクト1とも identical です。 オブジェクトの生存期間の話ならば、「参照される時(まで)には存在するように なっている」以上のことは、インプリメントを考えないと無意味な気がします。 参照されていないオブジェクトは、どうやっても見えなくて、何ら意味を 持たない(semantics に影響を与えない)のですから。 -- 渡邊克宏@SRA