Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #54106

Re: Language design

Path csiph.com!usenet.pasdenom.info!gegeweb.org!usenet-fr.net!nerim.net!novso.com!newsfeed.xs4all.nl!newsfeed4.news.xs4all.nl!xs4all!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail
Return-Path <rosuav@gmail.com>
X-Original-To python-list@python.org
Delivered-To python-list@mail.python.org
X-Spam-Status OK 0.009
X-Spam-Evidence '*H*': 0.98; '*S*': 0.00; 'mathematics': 0.05; 'true,': 0.05; "(i'd": 0.09; 'objects,': 0.09; 'subject:design': 0.09; 'python': 0.11; 'backward': 0.16; 'dict': 0.16; 'from:addr:rosuav': 0.16; 'from:name:chris angelico': 0.16; 'inclined': 0.16; 'intersection': 0.16; 'mathematics.': 0.16; "operand's": 0.16; 'semantics': 0.16; 'subject:Language': 0.16; 'value),': 0.16; 'wrote:': 0.18; 'bit': 0.19; '>>>': 0.22; '(or': 0.24; 'least': 0.26; 'header:In-Reply-To:1': 0.27; 'possibility': 0.29; 'sets': 0.30; 'message-id:@mail.gmail.com': 0.30; '13,': 0.31; "d'aprano": 0.31; 'sep': 0.31; 'steven': 0.31; "we're": 0.32; 'fri,': 0.33; 'implemented': 0.33; "i'd": 0.34; 'could': 0.34; 'basic': 0.35; 'beyond': 0.35; 'case,': 0.35; 'equal': 0.35; 'but': 0.35; 'received:google.com': 0.35; 'false': 0.36; 'maintained': 0.36; 'example,': 0.37; 'two': 0.37; 'to:addr :python-list': 0.38; 'pm,': 0.38; 'that,': 0.38; 'to:addr:python.org': 0.39; 'most': 0.60; 'more': 0.64; 'between': 0.67; 'union': 0.69; 'forced': 0.84; "it'd": 0.84; 'usage.': 0.84; 'demand': 0.91; '2013': 0.98
DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=INmEDhMLb6kTHMkUFVW3jzTaBJLmWZxpxKpwWsrl4RA=; b=TqYW/2cBAO+H76l3xLrIHeqXBYkAw4W/c7wKx3pRmFVH4NOPub9O4e3RyseI0elt13 mRXgjvzdoP0v8gJq2qmBzLsAmRB5hZoELS7AY70iZ0OVJo56p/dBWkkHn/WJTpVYCH4k AhiEIVf9u/YZaay8hdyHKAUKm6HjhxbSeyK5SmrzcIXLL8r6PuStW0R0CuDvoxeZYIa1 MlJWGNOak0N1ftM3NRINecuQlsiv0mTk3hds0vAPjcFEDkwSwBKCwPPAe0ljt7MHegm+ XtdXF7wb+SPvwLCfPLPwR8qhlDElL4uW7YQ1Yz2bGwNT3fE2x8JOh33PxQ59hNiE1rxT c6wg==
MIME-Version 1.0
X-Received by 10.58.67.101 with SMTP id m5mr235454vet.29.1379057967798; Fri, 13 Sep 2013 00:39:27 -0700 (PDT)
In-Reply-To <52329db3$0$29988$c3e8da3$5496439d@news.astraweb.com>
References <522eb795$0$29999$c3e8da3$5496439d@news.astraweb.com> <mailman.270.1378935062.5461.python-list@python.org> <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 Fri, 13 Sep 2013 17:39:27 +1000
Subject Re: Language design
From Chris Angelico <rosuav@gmail.com>
To python-list@python.org
Content-Type text/plain; charset=ISO-8859-1
X-BeenThere python-list@python.org
X-Mailman-Version 2.1.15
Precedence list
List-Id General discussion list for the Python programming language <python-list.python.org>
List-Unsubscribe <https://mail.python.org/mailman/options/python-list>, <mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive <http://mail.python.org/pipermail/python-list/>
List-Post <mailto:python-list@python.org>
List-Help <mailto:python-list-request@python.org?subject=help>
List-Subscribe <https://mail.python.org/mailman/listinfo/python-list>, <mailto:python-list-request@python.org?subject=subscribe>
Newsgroups comp.lang.python
Message-ID <mailman.343.1379057976.5461.python-list@python.org> (permalink)
Lines 38
NNTP-Posting-Host 2001:888:2000:d::a6
X-Trace 1379057976 news.xs4all.nl 15952 [2001:888:2000:d::a6]:34954
X-Complaints-To abuse@xs4all.nl
Xref csiph.com comp.lang.python:54106

Show key headers only | View raw


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 | NextPrevious in thread | Next in thread | Find similar | Unroll thread


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