White space vs. text for program structuring

Mark S. Miller markm@caplet.com
Wed, 29 Sep 1999 13:13:31 -0700


 From these messages, I am satisfied with my sense of the consensus: don't 
change to indentation-based block structure.  In other words, I'm going to 
leave this aspect of the language alone.

At 03:09 PM 9/28/99 , Ka-Ping Yee wrote:
>On Tue, 28 Sep 1999, Bill Frantz wrote:
> >
> > Since people use the two dimensional appearance and (most) languages use
> > one dimensional token parsing to determine program structure, there is more
> > than enough room for error to creep in.  I have always thought that warning
> > diagnostics for situations where the two methods give different structures
> > would be useful.
>
>Yes, this is one of the strongest arguments for indentation-based block
>structure: the braces are redundant, because people will indent their
>code and visually interpret their code by indentation anyway.  Problems
>happen when the two are inconsistent.

In documenting the grammar, I will encourage such warnings to be given.  I 
hope eventually to modify our lexer to follow this recommendation.  I think 
I'll also have it warn when it sees tab characters.  These warnings should 
be suppressable.

>For me the controversy over tab sizes isn't really relevant; it's just
>the command language issue that's the sticking point.
>
>I suppose we can revisit the command language issue.  Mark, is it still
>an essential part of your E plan that people be able to use E as their
>shell?

Essential.  Lisp & Smalltalk both show the power of using the same language 
as your programming language and your shell language.  I am aware of only 
two capability-oriented shell languages: E & Rees's secure 
W7/Scheme48.  Except for these, there are no shells that could be used for, 
for example, EROS, without hiding the unique power of EROS.  Because of 
syntax, sadly, I expect E would be able to gather much wider acceptance as 
a capability-shell language.


         Cheers,
         --MarkM