Comparing Associations

Jarvis, Robert P. Jarvisb at
Thu May 27 19:28:46 UTC 1999

If I recall correctly the Squeak Central people aren't in any great rush to
be "ANSI compliant".  Squeak is to be the "next" Smalltalk (in the tradition
of Smalltalk-80, Smalltalk-78, Smalltalk-76, -74, and -72, where each newer
version made its predecessor obsolete).  Looking through the draft version
of the standard I have available to me it looks like the Association class
is not part of the standard.  The following is used as the definition of the
Dictionary class:

	1.1.1	Protocol: <Dictionary>
	Conforms To
	Revision History
		Draft 1: April 20, 1995 -- Brian M. Barry
			Initial draft
		9/97 group review/revision at Aylmer meeting
		Represents an unordered collection whose elements can be
accessed using an explicitly assigned external key. Key equivalence is
defined as sending the #= message.

So it looks like Association is simply an implementation artifact, as is the
definition of the #= message when sent to an Association.  So it looks like
they're all "conforming" implementation.

Bob Jarvis
The Timken Company

> -----Original Message-----
> From:	John Clarke [SMTP:clarkej at]
> Sent:	Thursday, May 27, 1999 2:27 PM
> To:	'squeak at'
> Subject:	RE: Comparing Associations
> Pierre,
> I'm not familiar with the ANSI Smalltalk standard, nor am 
> I aware whether Squeak attempts to conform to it.
> But perhaps that's why Association uses the definition for = 
> it inherits from LookupKey, which simply matches the keys. 
> I checked several implementations and found the semantics 
> for = split as follows:
> VS 3.0 and Squeak require that only the keys match, 
> while VA and VW 3.0 require that the values match as well.
> (I'm assuming that VA and VW follow the ANSI definition.)
> BTW, did you get a response to whether Thinglab has 
> been ported to VW? If so, I must have missed it.
> John Clarke
> Pierre wrote:
> Why method = is not redefined properly in class Associations?

More information about the Squeak-dev mailing list