On Wed, Nov 14, 2012 at 8:28 PM, Stephen J. Turnbull <step...@xemacs.org> wrote:
> Chris Angelico writes:
>
>  > >>> {"a":1}+{"b":2}
>
>  > It would make sense for this to result in {"a":1,"b":2}.
>
> The test is not "does this sometimes make sense?"  It's "does this
> ever result in nonsense, and if so, do we care?"
>
> Here, addition is usually commutative.  Should {'a':1}+{'a':2} be the
> same as, or different from, {'a':2}+{'a':1}, or should it be an error?

Easy:  dict should have a (user substitutable) collision function that
is called in these cases.   This would allow significant functionality
with practically no cost.  In addition, it could be implemented in
such a way as to offer significant speedups (when using dict.update
for example) over any possible hand-written substitutes (since it's
only run on key collisions and otherwise uses an underlying loop coded
in C).

mark
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to