Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #54106
| References | (2 earlier) <5230ff66$0$29988$c3e8da3$5496439d@news.astraweb.com> <mailman.287.1378946951.5461.python-list@python.org> <52315238$0$29999$c3e8da3$5496439d@news.astraweb.com> <mailman.338.1379042609.5461.python-list@python.org> <52329db3$0$29988$c3e8da3$5496439d@news.astraweb.com> |
|---|---|
| Date | 2013-09-13 17:39 +1000 |
| Subject | Re: Language design |
| From | Chris Angelico <rosuav@gmail.com> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.343.1379057976.5461.python-list@python.org> (permalink) |
On Fri, Sep 13, 2013 at 3:08 PM, Steven D'Aprano
<steve+comp.lang.python@pearwood.info> wrote:
> For example, take intersection of two sets s and t. It is a basic
> principle of set intersection that s&t == t&s.
Note that, while this is true, the two are not actually identical:
>>> set1 = {0,1,2}
>>> set2 = {0.0,1.0,3.0}
>>> set1&set2
{0.0, 1.0}
>>> set2&set1
{0, 1}
>>> (set1&set2) == (set2&set1)
True
I'd actually posit that Python has this particular one backward (I'd
be more inclined to keep the left operand's value), but it's
completely insignificant to most usage. But in any case, there's
already the possibility that a set union can be forced to make a
choice between two equal objects, so we're already a bit beyond the
purity of mathematics. Python could have implemented dicts much more
like "sets with values", with set semantics maintained throughout, but
it'd require some oddities:
>>> {1:"asdf"} == {1:"asdf"}
True
>>> {1:"asdf"} == {1:"qwer"}
False
"Sets with values" semantics would demand that these both be True,
which is grossly unintuitive.
So while it may be true in pure mathematics that a set is-a dict (or a
dict is-a set), it's bound to create at least as many gotchas as it
solves.
ChrisA
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Language design Steven D'Aprano <steve@pearwood.info> - 2013-09-10 06:09 +0000
Re: Language design diverman <pavel@schon.cz> - 2013-09-09 23:59 -0700
Re: Language design Ben Finney <ben+python@benfinney.id.au> - 2013-09-10 17:07 +1000
Re: Language design Nobody <nobody@nowhere.com> - 2013-09-11 01:03 +0100
Re: Language design Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-09-11 00:53 +0000
Re: Language design Nobody <nobody@nowhere.com> - 2013-09-12 18:23 +0100
Re: Language design Antoon Pardon <antoon.pardon@rece.vub.ac.be> - 2013-09-10 09:58 +0200
Re: Language design Chris Angelico <rosuav@gmail.com> - 2013-09-10 20:20 +1000
Re: Language design Chris Rebert <clp2@rebertia.com> - 2013-09-10 18:46 -0700
Re: Language design Chris Angelico <rosuav@gmail.com> - 2013-09-11 14:21 +1000
Re: Language design Burak Arslan <burak.arslan@arskom.com.tr> - 2013-09-11 13:38 +0300
Re: Language design Neil Cerutti <neilc@norwich.edu> - 2013-09-11 14:32 +0000
Re: Language design Chris Angelico <rosuav@gmail.com> - 2013-09-12 00:46 +1000
Re: Language design Wayne Werner <wayne@waynewerner.com> - 2013-09-11 06:42 -0500
Re: Language design Dave Angel <davea@davea.name> - 2013-09-11 12:05 +0000
Re: Language design Ethan Furman <ethan@stoneleaf.us> - 2013-09-11 07:52 -0700
Re: Language design Burak Arslan <burak.arslan@arskom.com.tr> - 2013-09-11 18:41 +0300
Re: Language design Markus Rother <python@markusrother.de> - 2013-09-11 22:41 +0200
Re: Language design Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-09-11 23:40 +0000
Re: Language design Mark Janssen <dreamingforward@gmail.com> - 2013-09-11 14:22 -0700
Re: Language design Mark Janssen <dreamingforward@gmail.com> - 2013-09-11 14:30 -0700
Re: Language design Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-09-11 23:40 +0000
Re: Language design Mark Janssen <dreamingforward@gmail.com> - 2013-09-11 17:49 -0700
Re: Language design Steven D'Aprano <steve@pearwood.info> - 2013-09-12 05:33 +0000
Re: Language design Mark Janssen <dreamingforward@gmail.com> - 2013-09-12 20:23 -0700
Re: Language design Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-09-13 05:08 +0000
Re: Language design Chris Angelico <rosuav@gmail.com> - 2013-09-13 17:39 +1000
Re: Language design Mark Janssen <dreamingforward@gmail.com> - 2013-09-14 19:37 -0700
Re: Language design Antoon Pardon <antoon.pardon@rece.vub.ac.be> - 2013-09-15 09:57 +0200
Re: Language design Terry Reedy <tjreedy@udel.edu> - 2013-09-11 21:40 -0400
Re: Language design Chris Angelico <rosuav@gmail.com> - 2013-09-12 11:41 +1000
Re: Language design Ethan Furman <ethan@stoneleaf.us> - 2013-09-11 14:15 -0700
RE: Language design "Prasad, Ramit" <ramit.prasad@jpmorgan.com.dmarc.invalid> - 2013-09-11 21:56 +0000
Re: Language design Ben Finney <ben+python@benfinney.id.au> - 2013-09-12 09:16 +1000
Please omit false legalese footers (was: Language design) Ben Finney <ben+python@benfinney.id.au> - 2013-09-12 09:22 +1000
Re: Please omit false legalese footers (was: Language design) Grant Edwards <invalid@invalid.invalid> - 2013-09-12 20:12 +0000
Re: Language design Chris Angelico <rosuav@gmail.com> - 2013-09-12 09:27 +1000
Re: Language design Ben Finney <ben+python@benfinney.id.au> - 2013-09-12 09:19 +1000
Re: Language design Terry Reedy <tjreedy@udel.edu> - 2013-09-11 19:51 -0400
Re: Language design Mark Janssen <dreamingforward@gmail.com> - 2013-09-11 17:25 -0700
Re: Language design Chris Angelico <rosuav@gmail.com> - 2013-09-12 10:31 +1000
Re: Language design Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-09-12 02:33 +0000
Re: Language design Roy Smith <roy@panix.com> - 2013-09-11 22:43 -0400
Re: Language design Chris Angelico <rosuav@gmail.com> - 2013-09-12 12:58 +1000
Re: Language design Steven D'Aprano <steve@pearwood.info> - 2013-09-12 05:08 +0000
Re: Language design Mark Janssen <dreamingforward@gmail.com> - 2013-09-11 17:34 -0700
Re: Language design Mark Janssen <dreamingforward@gmail.com> - 2013-09-11 17:37 -0700
Re: Language design Chris Angelico <rosuav@gmail.com> - 2013-09-12 10:40 +1000
Re: Language design Benjamin Kaplan <benjamin.kaplan@case.edu> - 2013-09-11 17:54 -0700
Re: Language design Ben Finney <ben+python@benfinney.id.au> - 2013-09-12 10:57 +1000
Re: Language design Joshua Landau <joshua@landau.ws> - 2013-09-12 05:17 +0100
Re: Please omit false legalese footers (was: Language design) Skip Montanaro <skip@pobox.com> - 2013-09-12 04:27 -0500
Re: Please omit false legalese footers (was: Language design) Oscar Benjamin <oscar.j.benjamin@gmail.com> - 2013-09-12 10:44 +0100
Re: Language design Markus Rother <python@markusrother.de> - 2013-09-12 19:51 +0200
Re: Language design Neil Cerutti <neilc@norwich.edu> - 2013-09-12 18:06 +0000
Re: Language design Markus Rother <python@markusrother.de> - 2013-09-12 20:13 +0200
Re: Language design Markus Rother <python@markusrother.de> - 2013-09-12 20:24 +0200
Re: Language design Neil Cerutti <neilc@norwich.edu> - 2013-09-12 19:18 +0000
Re: Language design Ethan Furman <ethan@stoneleaf.us> - 2013-09-12 11:05 -0700
Re: Language design Ned Batchelder <ned@nedbatchelder.com> - 2013-09-12 14:37 -0400
Re: Language design Terry Reedy <tjreedy@udel.edu> - 2013-09-12 14:46 -0400
Re: Language design Chris Angelico <rosuav@gmail.com> - 2013-09-13 07:53 +1000
Re: Language design Antoon Pardon <antoon.pardon@rece.vub.ac.be> - 2013-09-13 09:04 +0200
Re: Language design Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-09-13 10:13 +0000
Re: Language design Chris Angelico <rosuav@gmail.com> - 2013-09-13 21:16 +1000
Re: Language design Antoon Pardon <antoon.pardon@rece.vub.ac.be> - 2013-09-13 13:28 +0200
Re: Language design Terry Reedy <tjreedy@udel.edu> - 2013-09-13 15:32 -0400
Re: Language design Chris Angelico <rosuav@gmail.com> - 2013-09-14 09:57 +1000
Re: Language design Neil Cerutti <neilc@norwich.edu> - 2013-09-18 14:57 +0000
Re: Language design Chris Angelico <rosuav@gmail.com> - 2013-09-19 01:02 +1000
Re: Language design Neil Cerutti <neilc@norwich.edu> - 2013-09-18 15:08 +0000
Re: Language design Chris Angelico <rosuav@gmail.com> - 2013-09-19 01:12 +1000
Re: Language design William Ray Wing <wrw@mac.com> - 2013-09-18 12:58 -0400
Re: Language design wxjmfauth@gmail.com - 2013-09-18 10:45 -0700
Re: Language design Neil Cerutti <neilc@norwich.edu> - 2013-09-18 17:55 +0000
Re: Language design Mark Janssen <dreamingforward@gmail.com> - 2013-09-13 17:28 -0700
Re: Language design Vito De Tullio <vito.detullio@gmail.com> - 2013-09-14 07:25 +0200
csiph-web