[EMAIL PROTECTED] wrote: > Also, how deep should we go if we decide to have the hash algorithm > work on the contents? > > One starts to understand why scheme has C<eqv?>, C<eq?> and > C<equal?>.
Indeed. It's also why it allows to specify, in AA accesses, what equality-testing operator you want keys to be compared with. The default (at least in CL) is eql. Two things are eql if they are the same object, or are identical numbers or strings. I.e. it's a shallow comparison. Deep comparison (i.e. identical-looking contents) is implemented by the "equal" op. Note also that AA accesses also take an optional specifier for a function to be applied to each key before comparison. E.g. if you wanted keys to be compared case-insensitively, you might specify the 'uc' function for this purpose. -- JohnDouglasPorter __________________________________________________ Do You Yahoo!? Yahoo! Health - Feel better, live better http://health.yahoo.com