This inconsistent naming convention has me wishing for an updated ANSI Standard. There has been much change, wasn’t that standard from the 90s?
/————————————————————/ For encrypted mail use [email protected] Get a free account at ProtonMail.com Web: www.objectnets.net and www.objectnets.org > On Jul 30, 2018, at 22:59, Richard O'Keefe <[email protected]> wrote: > > I do not think that (1 to: 4) and #(1 2 3 4) should be equal. > Let me put it a little more strongly: it's a bug. > Taking > a := 1 to: 4. > b := Array withAll: a. > c := OrderedCollection withAll: b. > in the two other Smalltalk systems I just tried, > no two of these are equal. This is what the ANSI > Smalltalk standard requires. Ceteris paribus, > two sequences are equivalent if and only if > 1. they are instance of the same class > 2. they have the same size > 3. corresponding elements are equivalent. > It is fairly common for Smalltalk systems to distinguish > between "these sequences are equivalent" and "these > sequences have the same elements in the same order", > with no consensus on the name of the second method. > One calls it #sameContentsAs:, Squeak #hasEqualElements:. > > >> On 31 July 2018 at 00:07, werner kassens <[email protected]> wrote: >> Hi, >> i guess i can subsume almost everything i know about hashes in one sentence: >> it is my understanding that two objects that are equal (obj1=obj2. >> -->true) have to have the same hash value (which is used for some >> collection types), whereas objects where obj1=obj2 returns false should >> have different hash values although it may happen that they have the >> same one. >> >> now here things don't turn out exactly like that: >> (1 to:4) = #(1 2 3 4). "true" >> (1 to:4)hash = #(1 2 3 4)hash. "false" >> well ok, actually these results make - pfffh, in a certain way - sense >> to me, but i wonder what arguments the people in the know would use to >> defend that result, if i would have another opinion? >> werner >
