On Thu, 2008-09-11 at 18:38 -0700, Guido van Rossum wrote:
I think the only way to move forward in this discussion is if you could write a complete parser for the variant of Python that you'd like to see.
As I've pointed out, this has already been done (although the project appears dead):
Logix is actually much more than a Python interpreter, but that's tangential to this discussion. Logix also conveniently runs on the Python VM. It also removes the distinction between statements and expressions and is nearly code-compatible with Python (it has two significant shortcomings and two minor ones, none of which have to do with the topic at hand).
I expect that you'll say "but I don't know enough about parser technology to do so" -- but then my response is "then you don't know to understand the difficulty of the task, so shut up." If you want to continue this discussion you'll have to prove that it is possible.
Or I can continue to say what I like and you can choose to ignore it. I obviously believe it's a worthwhile discussion and certainly enjoy the debate, but anyone who doesn't is best served by not joining it. I don't recall bringing this to python-dev as a serious proposal nor submitting it as a PEP, so I think an informal exchange of ideas without spending six months on a functional prototype is perfectly acceptable.
That aside, it's already been proven that the syntax and concept is plausible in Logix. Whether or not it could be implemented in CPython is another matter, and whether or not the result would be accepted is yet a another matter.
That in turn will force you to think about many of the details that you're currently brushing away as irrelevant -- and you'll find that they are actually highly relevant.
I'm not brushing them away as irrelevant, I'm setting them aside until it's decided that it's even worth pursuing. I don't know about you, but I don't bother arguing with my wife about the color of a new cars until we're certain we need to buy one.
I certainly agree that if I decided to move this beyond idle discussion that a prototype would be a critical aspect and I fully expect there would be many issues to be overcome. I don't believe such a change would be simple, but neither do I believe it's insurmountable.