"Bill Kelly" <billk / cts.com> wrote: > Borrowed from my C++ STL book[1], which lists hash_map<> as a > model of Pair Associative Container (as well as a model of > Hashed Associative Container and Unique Associative Container). Boost (a collection of C++ template libraries) works with tupels rather than with pairs. In Smalltalk there is a Collection class named KeyedCollection but Array is an ArrayedCollection, the latter a subclass of SequenceableCollection. Dictionary is a Subclass of Set. IdentityDictionary is not a subclass of Dictionary. I don't want to discuss Smalltalk's single inheritance. I just want to point out that there are a lot of koncepts to take into account. - fixed order (sorted keys) vs. variable order (may change sort function) vs. no order (hashed keys) - fixed type keys vs. arbitrary but constant type vs. mixable types - access by keys in constant time? - allow dublicated values? - how to cope with equal but not identical keys? - fixed size or growable? This list is not complete, I just did some brainstorming. I think an appropriate name will come up when decision about the interface is complete. Cheers Sascha