>
>
> Is that an invariant you expect to apply to other uses of the +
> operator?
>
> py> x = -1
> py> x <= (x + x)
> False
>
> py> [999] <= ([1, 2, 3] + [999])
> False
>

Please calm down.  I meant each type implements "sum"
in semantics of the type, in lossless way.
What "lossless" means is changed by the semantics of the type.

-1 + -1 = -2 is sum in numerical semantics.  There are no loss.

[1, 2, 3] + [999] = [1, 2, 3, 999] is (lossless) sum in sequence semantics.

So what about {"a": 1} + {"a": 2}.  Is there (lossless) sum in dict semantics?

* {"a": 1} -- It seems {"a": 2} is lost in dict semantics.  Should it
really called "sum" ?
* {"a": 2} -- It seems {"a": 1} is lost in dict semantics.  Should it
really called "sum" ?
* {"a": 3} -- It seems bit curious compared with + of sequence,
because [2]+[3] is not [5].
           It looks like more Counter than container.
* ValueError -- Hmm, it looks ugly to me.

So I don't think "sum" is not fit to dict semantics.

Regards,
-- 
INADA Naoki  <songofaca...@gmail.com>
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to