[E-Lang] Message send syntax
Mark S. Miller
Sun, 01 Apr 2001 14:42:50 -0800
At 11:41 PM Saturday 3/31/01, email@example.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
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
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?