Is there anything *enjoyable* about our development process?

Thomas Bushnell BSG tb at becket.net
Sun Oct 16 19:43:20 EDT 2005


"Stuart D. Gathman" <stuart at bmsi.com> writes:

> On Sun, 16 Oct 2005, Thomas Bushnell BSG wrote:
>
>> I know perfectly well what the syntax of Python is.  It is not
>> white-space independent; that makes it therefore white-space
>> dependent.  I cannot break lines where I please; I cannot insert or
>> remove white-space where I please.
>
> You *can* break lines where you please.  Perhaps you mean that 
> most programs can't be crammed into only one line?

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 insert/remove white-space where you please - subject only
> to keeping blocks indented like you would in C with any sane coding standard.

C code does not need to be indented, and so the result is quite happy
for automatically generated code.  Scheme/Lisp syntax is even better,
because the format of data and programs is identical.  


>> Among other things, that makes automatically-generated python a royal
>> PITA to generate.  It also means that generating python must suddenly
>
> The C way to output a begin block:
>
> 	putc('{');
>
> The Python way to output a begin block:
>
> 	++indent

Are you telling me that the ++indent operation is not context
dependent?  There is no hidden state inside that there function?

It sounds as if you are deliberately trying not to see my point.

Recognizing the importance of context-free grammars was a tremendous
advance in programming language linguistics.  

> Anyhow, while I dislike the specious arguments, I'm not trying to
> push Python.  How about Ruby then?  Smalltalk semantics, more
> traditional block notation.  Has Smalltalk style anonymous
> executable "blocks" as well - so nice for making callbacks easy and
> painless.  Available by default in most distros.

Well, Smalltalk-80 blocks aren't re-entrant unfortunately!  But
leaving that aside, if you want anonymous executable blocks, why not
just have first class continuations?  Umm...

Thomas


More information about the gnucash-devel mailing list