Path: csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!weretis.net!feeder1.news.weretis.net!feeder.erje.net!newsfeed.xs4all.nl!newsfeed6.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.004 X-Spam-Evidence: '*H*': 0.99; '*S*': 0.00; 'sorts': 0.04; 'distinct': 0.05; 'indeed,': 0.07; 'subject:based': 0.07; 'type,': 0.07; 'python': 0.08; 'am,': 0.12; 'received:209.85.210.174': 0.13; 'received:mail-iy0-f174.google.com': 0.13; 'dangerous,': 0.16; 'debates': 0.16; 'from:addr:rosuav': 0.16; 'from:name:chris angelico': 0.16; 'justify': 0.16; 'subject: \n ': 0.16; 'subject:syntax': 0.16; 'syntax': 0.16; 'language': 0.17; 'wrote:': 0.18; 'written': 0.20; 'dec': 0.22; "doesn't": 0.22; 'header:In-Reply-To:1': 0.22; 'worst': 0.23; 'code': 0.25; 'reaches': 0.28; 'message-id:@mail.gmail.com': 0.28; '27,': 0.29; 'explicit': 0.29; 'start,': 0.29; 'skip:b 20': 0.29; '"but': 0.30; 'argue': 0.30; 'but...': 0.30; 'construct': 0.30; 'quite': 0.32; 'changes': 0.32; 'tue,': 0.32; 'to:addr:python-list': 0.34; 'right,': 0.34; 'anything': 0.34; 'something': 0.35; 'subject:/': 0.35; '...': 0.36; 'two': 0.37; 'but': 0.37; 'received:google.com': 0.37; "there's": 0.37; 'think': 0.37; 'enough': 0.38; 'doing': 0.38; 'received:209.85': 0.38; 'relatively': 0.39; 'ways': 0.39; "it's": 0.40; 'received:209': 0.40; 'to:addr:python.org': 0.40; 'difference': 0.40; 'once': 0.60; 'more': 0.61; 'quick': 0.61; '2011': 0.61; 'presented': 0.62; 'home': 0.65; 'here': 0.65; 'computers,': 0.67; 'collection': 0.69; '10:44': 0.84; 'change"': 0.84 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=nXLsLKmIeh8LRV6D2//Rs6iJOAvcpZykldSB2PSBaZI=; b=AR80n3eJS6opa2ldLo+ZpS6fbYL0MDgJVAWaD7zbBe6400cHBbAos+9OxrpcQkHnRF kzxbuY704cONbrXyrvcDqdHo43XO2U6soyBlpQ+tn8/JVBtelN+hhObV0Qpy/LxtJrqX MBqtMWeD5ax86rZ5FgUQPu+3uj7vhxZUqWIz4= MIME-Version: 1.0 In-Reply-To: <5aadbf8b-c905-4115-972c-b37d093126b4@p4g2000vbt.googlegroups.com> References: <841f4d29-f50b-4b0b-912b-b497fb6e60ec@t16g2000vba.googlegroups.com> <4ef32cd9$0$29973$c3e8da3$5496439d@news.astraweb.com> <4ef71ae2$0$29973$c3e8da3$5496439d@news.astraweb.com> <2a248812-d0ea-424a-93f0-0f496d130414@o14g2000vbo.googlegroups.com> <4ef74c1d$0$29973$c3e8da3$5496439d@news.astraweb.com> <6f5a3dba-bb7e-44df-8c8f-a0d56441d807@i8g2000vbh.googlegroups.com> <21fe3e6f-9e02-43cd-bd4c-cfce1fdaf0d7@d10g2000vbh.googlegroups.com> <5aadbf8b-c905-4115-972c-b37d093126b4@p4g2000vbt.googlegroups.com> Date: Tue, 27 Dec 2011 11:52:41 +1100 Subject: Re: Pythonification of the asterisk-based collection packing/unpacking syntax From: Chris Angelico To: python-list@python.org Content-Type: text/plain; charset=ISO-8859-1 X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 25 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1324947165 news.xs4all.nl 6930 [2001:888:2000:d::a6]:54113 X-Complaints-To: abuse@xs4all.nl Xref: x330-a1.tempe.blueboxinc.net comp.lang.python:18000 On Tue, Dec 27, 2011 at 10:44 AM, Eelco wrote: > extended collection unpacking, as in 'head,*tail=sequence', is quite a > rare construct indeed, and here I very strongly feel a more explicit > syntax is preferrable. You may be right, but... > ... if collection packing/unpacking would be > presented as a more general construct from the start, > 'head,tail::tuple=sequence' would be hard to miss. ... it doesn't really justify a _change_. When a language is in its infancy and the only code written in it is on the designers' own computers, these sorts of debates can be tipped by relatively small differences - is it more readable, is it quick enough to type, etc. But once a language reaches a level of maturity, changes need to overwhelm the "but it's a change" hurdle - breaking existing code is majorly dangerous, and keeping two distinct ways of doing something means you get the worst of both worlds. We can argue till the cows come home as to which way would be better, _had Python started with it_. I don't think there's anything like enough difference to justify the breakage/duplication. ChrisA