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/2004-March/043010.html below:

[Python-Dev] PEP 318 - generality of list; restrictions on elements

[Python-Dev] PEP 318 - generality of list; restrictions on elementsAahz aahz at pythoncraft.com
Wed Mar 10 06:32:11 EST 2004
On Mon, Mar 08, 2004, Fred L. Drake, Jr. wrote:
> On Monday 08 March 2004 03:32 pm, Aahz wrote:
>>
>> No, that's not right.  If
>>
>>     def foo() [w1, w2]: pass
>>
>> is valid, this must also always be valid:
>>
>>     def foo() [w2]: pass
> 
> Perhaps it should also be valid, but "must" is pretty strong.  This is
> still Python, and the general "consenting adults" philosophy shouldn't
> be abandoned.

I'd be one of the last people to claim that philosophy should be
abandoned, but that doesn't mean I think that Python should permit every
possible perversion.

>> I'm not sure to what extent we can/should enforce this, but I'm -1 on
>> any proposal for which this isn't the documented behavior.
> 
> I think we're on shaky ground if we require any sort of equivalence
> here, simply because it might make no sense at all for specific
> decorators to be stacked out of order or in unusual combinations.
> I'm quite happy for the PEP and the final documentation to make
> recommendations, but hard requirements of this sort are difficult to
> tolerate given the difficulty of even defining "validity".
>
> As an (admittedly trivial) example, I'd be quite happy for:
> 
>     class Color [valuemap]:
>         red = rgb(255, 0, 0)
>         blue  = rgb(0, 255, 0)
>         green = rgb(0, 0, 255)
> 
> to cause the name Color to be bound to a non-callable object.  Why
> must the decorators be required to return callables?  It will not make
> sense in all circumstances when a decorator is being used.

That's precisely one of the examples that I think should be shot on
sight.  ;-)  If it's not callable, how do you use it?  If you're
intending for it to be a singleton, you should raise an appropriate
TypeError instead of AttributeError.
-- 
Aahz (aahz at pythoncraft.com)           <*>         http://www.pythoncraft.com/

"Do not taunt happy fun for loops. Do not change lists you are looping over."
--Remco Gerlich, comp.lang.python

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