On Sat, May 30, 2009 at 01:09:01PM -0600, David Green wrote: > I think that one's ambiguous as to whether $bar exists as a key or a > value. > > $bar ∈ @foo; $bar ∈ %foo.keys; $bar ∈ %foo.values; ∃ %foo{bar}
Generally when hashes have been used as sets we've taken the keys to be the set, not the values, since the keys guarantee uniqueness. However, even defining it that way, a hash should really be considered a set *container* rather than a set, since sets are immutable, and hashes aren't. This is why we distinguish the Set type from the KeySet type. But tagmemically speaking, it's perfectly fine to *use* a hash as if it were a set. Larry