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