Path: csiph.com!news.swapon.de!fu-berlin.de!uni-berlin.de!not-for-mail From: Ethan Furman Newsgroups: comp.lang.python Subject: Re: Namespaces are one honking great idea Date: Sun, 03 Jul 2016 21:01:42 -0700 Lines: 23 Message-ID: References: <57767a97$0$1606$c3e8da3$5496439d@news.astraweb.com> <577693AC.6090807@stoneleaf.us> <5776a3ef$0$1608$c3e8da3$5496439d@news.astraweb.com> <5776C4A4.5000407@stoneleaf.us> <577713c6$0$1587$c3e8da3$5496439d@news.astraweb.com> <1467435593.1705568.654776673.4D901A33@webmail.messagingengine.com> <57788a2f$0$22141$c3e8da3$5496439d@news.astraweb.com> <57789F3D.7000809@stoneleaf.us> <5779DFA6.9080300@stoneleaf.us> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Trace: news.uni-berlin.de cfasJywK2pyGdwFlNK9zWAakcCRZ8Y0ZfXZYEQs/IWlg== Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.003 X-Spam-Evidence: '*H*': 0.99; '*S*': 0.00; 'broken': 0.03; 'enum': 0.09; 'from:addr:ethan': 0.09; 'from:addr:stoneleaf.us': 0.09; 'from:name:ethan furman': 0.09; 'message-id:@stoneleaf.us': 0.09; 'rules.': 0.09; 'argument': 0.15; "hasn't": 0.15; 'jython,': 0.16; 'lexical': 0.16; 'magic': 0.16; 'metaclass': 0.16; 'received:io': 0.16; 'received:psf.io': 0.16; 'subject:Namespaces': 0.16; 'wrote:': 0.16; 'language': 0.19; 'changes': 0.20; 'changes,': 0.23; 'kevin': 0.23; 'implemented': 0.24; 'header:In-Reply-To:1': 0.24; 'header:User-Agent:1': 0.26; 'earlier': 0.27; 'went': 0.28; '~ethan~': 0.29; 'rules': 0.31; 'point': 0.33; 'rule': 0.33; 'suddenly': 0.33; 'nothing.': 0.35; 'there': 0.36; 'to:addr :python-list': 0.36; 'pm,': 0.36; 'subject:: ': 0.37; 'anything': 0.38; 'to:addr:python.org': 0.40; 'space': 0.40; 'some': 0.40; 'charset:windows-1252': 0.62; 'effective': 0.63; 'construct': 0.84; 'ethan': 0.91; 'furman': 0.91; 'hand,': 0.97 User-Agent: Mozilla/5.0 (X11; Linux i686; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 In-Reply-To: X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Mailman-Original-Message-ID: <5779DFA6.9080300@stoneleaf.us> X-Mailman-Original-References: <57767a97$0$1606$c3e8da3$5496439d@news.astraweb.com> <577693AC.6090807@stoneleaf.us> <5776a3ef$0$1608$c3e8da3$5496439d@news.astraweb.com> <5776C4A4.5000407@stoneleaf.us> <577713c6$0$1587$c3e8da3$5496439d@news.astraweb.com> <1467435593.1705568.654776673.4D901A33@webmail.messagingengine.com> <57788a2f$0$22141$c3e8da3$5496439d@news.astraweb.com> <57789F3D.7000809@stoneleaf.us> Xref: csiph.com comp.lang.python:111058 On 07/03/2016 03:02 PM, Kevin Conway wrote: >At some point earlier Ethan Furman declared: >> It's not a language change. > > Perhaps. My argument is that anything that introduces a new class-like > construct and set of lexical scoping rules is a language change. For > example, if this change went into 2.7.13 would Jython suddenly be broken > because it hasn't implemented the new scoping rules? It's not a language change*. There is nothing for Jython, IronPython, Brython, etc., to implement. No scoping rule changes, nothing. The magic in Steven's name space is implemented by the metaclass by (presumably) rebuilding all the functions -- and that is how he manages the effective scoping rules. -- ~Ethan~ *Okay, it is not a language change the same way the addition of Enum was not a language change. On the other hand, asyncio did have some language changes (await, async, etc.).