> Date: Thu, 22 Jul 2010 14:49:17 -0400
> Subject: Re: [Python-Dev] Set the namespace free!
> From: alexander.belopolsky@gmail.com
> To: gregory.smith3@sympatico.ca
> CC: python-dev@python.org
>
> On Thu, Jul 22, 2010 at 12:53 PM, <gregory.smith3@sympatico.ca> wrote:
> ..
> > So, ::name or &name or |name or whatever.
> >
> > I'm very amused by all the jokes about turning python into perl, but there's
> > a good idea here that doesn't actually require that...
>
> No, there isn't. And both '&' and '|' are valid python operators that
> cannot be used this way.
>
Um, of course. Serious brain freeze today, using too many languages at once. Yeah, that's it.
Despite my knuckleheadedness, I say there's still a hole here that can be easily plugged. it's clumsy that you can't call, e.g.
GenerateURL( reqtype='basic', class='local')
other than by
GenerateURL( **{'reqtype': 'basic', 'class': 'local'})
... just because 'class' is a keyword. That's letting a parser issue degrade the value of a really good feature. Likewise for attributes; python allows you to have
named parameters or attributes called 'class' and 'import' if you like; it just doesn't let you write them directly; this restriction doesn't seem to be necessary except for the parse issue, which is fixable. I.e. nothing would break by allowing GenerateURL(::class = 'local') or Request.::class.
See my previous longer post for the full discussion (not the short stupid one).