Is there anything *enjoyable* about our development process?
Thomas Bushnell BSG
tb at becket.net
Sun Oct 16 20:24:08 EDT 2005
"Stuart D. Gathman" <stuart at bmsi.com> writes:
> On Sun, 16 Oct 2005, Thomas Bushnell BSG wrote:
>
>> You mean that I can take Python programs and add newlines between any
>> two tokens, and things will work? No extra tabs or spaces needed?
>> Really?
>
> You can add escaped newlines between any two tokens. You can
> add unescaped newlines between any two tokens within a
> '{}' (generators), '[]' (list comprehension), or '()' block.
It's as if I say "Python has a context-sensitive grammar", and you say
"no it doesn't!" and then I show the context-sensitivity, and you say,
"but this *other* operation is context-free!".
So, I take this as a grudgingly granted (finally) admission that I
cannot, in fact, add whitespace wherever I please between Python
tokens.
>> Are you telling me that the ++indent operation is not context
>> dependent? There is no hidden state inside that there function?
>
> Outputing indent spaces in front of each line is implied.
> Or, you could output some non-python token and post process (beautify).
"Implied." So the implementation of the ++indent operation holds no
context? How does it know how many spaces to insert? Of course it
knows: *IT KEEPS CONTEXT*.
> Python syntax is designed for *human* consumption.
Yep, and that's the *problem*. We can design languages that are good
at *more than one thing at a time*.
My point is simply exactly what it was long before: that python is not
modern in syntax; it's a step backwards, because it's not context-free.
> However, the purpose of the scripting language is to provide a high level way
> for *humans* to extend the system.
I don't know about you, but I regard the whole point of computers in
*not* requiring humans to do everything.
> Since the core of the system is in C,
> your code generators would be much better off targetting C code.
C is not an extension language; or do we need to repeat *that* part of
this discussion one more time?
> It was a great advance for machine readable grammars. Humans like context.
You are using "context" in two different ways.
> If Human readability is of only secondary importance, then Forth like
> languages are *very* machine readable.
Why not aim for both? Good grief.
Thomas
More information about the gnucash-devel
mailing list