Proposal for new operators to python that add syntactic sugar for hierarcical data.
bruno at modulix
onurb at xiludom.gro
Thu May 18 20:40:47 CEST 2006
>>What you are trying to achieve is to make syntactic sugar for making namespace
>>definitions look nicer. But: the way you are trying to do so isn't pythonic,
>>because there isn't one obvious way how your proposal works; you're not even
>>specifying a proper semantic interpretation of your syntax (and use "magic"
>>markers, which is even more a NoNo).
> I used 'magic' markers, since I am lousy at coming up with new
This is an understatement.
> But I'll try to formalize it a little bit more.
> I am proposing two new keywords 'node' and 'attr'. Which have the
> node [callable|name][:]
> This will append itself to the current node if it is a callable. If it
> is a name it
> will become the new current node. The current node has the scope of the
> or until a new node is created.
> attr name = expression
> This will set the attribute name to expression on the current node.
We already have this (quite close to) this syntax:
There's also the Zope3 'implements' trick, that allow to modify the
class namespace without assignement:
So what you want is very certainly doable without any syntax change.
> I dont think it is the same as the 'make' but I wouldnt rule it
It has already been ruled out IIRC.
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in 'onurb at xiludom.gro'.split('@')])"
More information about the Python-list