[E-Lang] Message send syntax

Mark S. Miller markm@caplet.com
Sun, 01 Apr 2001 14:42:50 -0800


At 11:41 PM Saturday 3/31/01, zooko@zooko.com wrote:
>I'd like to mention that I still feel the same way about `.' for method
>invocation as I did when we last discussed it.

Since the '.' for property names will still be in the pocket in the upcoming 
0.8.9t, and needs to be through 0.8.10 to support those making a transition 
to the new syntax, I can't even include this experimentally till a 
release > 0.8.10.  No reason to stop discussing it, but since no other 
issues (like collections) depend on this one, I won't pay a lot of attention 
till then.

Food for thought in the meantime:

>I know that MarkM prefers whitespace instead of `.' because for E-as-a-shell-
>language you would be able to type a bit faster, but since Dean has brought it
>up again I would like to urge MarkM to prioritize newbie comfort over easier
>keystrokes here.

Although you've identified a genuine tradeoff, the statement above poses a 
false dichotomy.  Newbie comfort will greatly benefit by using the same 
language as shell and programming language.  IMO, this unification is a 
greater benefit to those learning the language than is this familiarity 
issue, though both are significant.  If the dot causes E not to be used as a 
shell language, as I think would happen, we lose a tremendous opportunity 
with EROS, and we lose this great learning opportunities for newbies.

Every shell language I know of, bash, csh, MSDOS, CPM, Tcl, ... uses space 
as the major delimiter.  I know of two programming languages that have had 
some success at interactive shell-like usage, Smalltalk and Lisp.  They are 
also heavy on space as a delimiter.  And all the above but Lisp are also 
light on required parens.

You convinced me on required parens by saying "command line completion".  On 
that issue, I was able to accept a hypothetical command line completer and 
hope for the best.  For this one, the command line completer will be be more 
painful to do without, and it'll be harder to write, since it needs to 
backpatch into the characters already typed.

So the most convincing form of argument would be a command line completion 
module for E.  You've been needing to pick a first program to write in E.  
How about this one?


        Cheers,
        --MarkM