Support of algebraic operations on sets

sig siguctua at gmail.com
Fri Jun 15 15:41:49 UTC 2007


On 15/06/07, Klaus D. Witzel <klaus.witzel at cobss.com> wrote:
> On Fri, 15 Jun 2007 15:50:54 +0200, Bert Freudenberg wrote:
> > On Jun 15, 2007, at 14:45 , sig wrote:
> >
> >> actually i missing these operations for dictionaries.
> >> in current implementation if you diff/union on two dictionaries,
> >> you'll find out that associations play role as set elements, not keys.
> >>
> >> for dictionaries 'a difference: b' i get not exactly what i would
> >> expect.
> >
> > Dictionaries are like other collections - a collection of "elements"
> > (the values). The keys are only interesting for accessing - like indices
> > on Arrays.  #do: operates on the values. So does #select:, and
> > #difference:. You wouldn't expect #difference: on an Array to work on
> > its indices, would you?
>
> Good argument. And if some solves that by (aDict keys op: bDict keys) and
> aDict's values are completely different from bDict values, no cDict can
> hold the "correct" values unless cDict is empty under all circumstances ;-)
>
> /Klaus
In my work i must maintain same number of keys in one dictionary as in
other, while their values are totally different. So, when first
dictionary changed somehow, then later i need to sync keys with second
one, but not values, because they constructed by other means. And
thats where set operations on keys only is useful.



More information about the Squeak-dev mailing list