A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2010-August/103143.html below:

[Python-Dev] Oddity in AST for 3-argument slices

[Python-Dev] Oddity in AST for 3-argument slicesNick Coghlan ncoghlan at gmail.com
Thu Aug 19 15:26:21 CEST 2010
On Thu, Aug 19, 2010 at 8:35 PM, Greg Ewing <greg.ewing at canterbury.ac.nz> wrote:
> Nick Coghlan wrote:
>
>> Or else it's just an accident of implementation, since the AST doesn't
>> actually *need* to distinguish those two cases.
>
> It doesn't seem to be an accident, because ast_for_slice()
> goes out of its way to manufacture a Name node for the
> missing argument.
>
> It doesn't seem to significantly simplify the compiler
> either, because compiler_slice() could just as easily
> treat it the same way as the other slice arguments and
> emit an instruction to load None if it's missing.
>
> So it's a mystery. Perhaps it made life easier for some
> earlier version of the compiler.

Ah, it's a 2.x-ism. The old compiler needed to know whether or not to
try __get/set/delslice__ (yes for x[:], no for x[::]). With those
magic methods gone, that would make it obsolete in 3.x, so x[::]
should probably just be changed to generate the same AST as x[:] now.

Cheers,
Nick.

-- 
Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia
More information about the Python-Dev mailing list

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4