[Python-ideas] Statements vs Expressions... why?

Cliff Wells cliff at develix.com
Fri Sep 12 06:08:28 CEST 2008


On Thu, 2008-09-11 at 18:38 -0700, Guido van Rossum wrote:
> Hey Cliff,
> 
> 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):

http://www.livelogix.net/logix/index.html

http://www.livelogix.net/logix/tutorial/3-Introduction-For-Python-Folks.html

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).

http://www.livelogix.net/logix/tutorial/3-Introduction-For-Python-Folks.html

> 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.

Regards,
Cliff





More information about the Python-ideas mailing list