[Python-ideas] explicitation lines in python ?
Chris Rebert
pyideas at rebertia.com
Sat Jun 26 05:55:54 CEST 2010
On Fri, Jun 25, 2010 at 7:58 PM, Stephen J. Turnbull <stephen at xemacs.org> wrote:
> Daniel DELAY writes:
>
> > (Sorry if this has already been discussed earlier on this list, I have
> > not read all the archives)
>
> I think if you search for "first-class blocks" and "lambdas", or
> similar, you'll find related discussion (although not exactly the same
> thing). It also looks very similar to the Haskell "where", maybe
> searching for "Haskell where" would bring it up.
>
> > Renouncing to list comprehension occurs rather often when I write python
> > code
> >
> > I think we could greatly improve readability if we could keep list
> > comprehension anywhere in all cases, but when necessary explicit a too
> > complex expression in an indented line :
> >
> > htmltable = ''.join( '<tr>{}</tr>'.format(htmlline) for line in table):
> > htmlline : ''.join( '<td>{}</td>'.format(cell) for cell in line)
>
> (Edited for readability; it was munged by your mail client. ;-)
>
> I'm not sure I like this better than the alternative of rewriting the
> outer loops explicitly. But if you're going to add syntax, I think
> the more verbose
>
> htmltable = ''.join('<tr>{}</tr>'.format(htmlline) for line in table) \
> with htmlline = ''.join('<td>{}</td>'.format(cell) for cell in line)
>
> looks better. Note that the "with" clause becomes an optional part of
> an assignment statement rather than a suite controlled by the
> assignment, and the indentation is decorative rather than syntactic.
> I considered "as" instead of "=" in the with clause, but preferred the
> "=" because that allows nested "with" in a natural way. (Maybe, I
> haven't thought carefully about that at all.) Obviously "with" was
> chosen because it's already a keyword.
>
> I suspect this has been shot down before, though.
Prior thread:
[Python-ideas] Where-statement (Proposal for function expressions)
http://mail.python.org/pipermail/python-ideas/2009-July/005114.html
There certainly was criticism:
http://mail.python.org/pipermail/python-ideas/2009-July/005213.html
However, the BDFL seemed receptive:
http://mail.python.org/pipermail/python-ideas/2009-July/005299.html
Cheers,
Chris
--
http://blog.rebertia.com
More information about the Python-ideas
mailing list