[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: a note on notations
> <>foo works just fine in es-.08; it's used all
> over the place in initial.es, normally as <>$&primitives.
Oops. I'm suffering from the ol' rc/es schizophrenia again.
> > This cannot be the case for either $ or %
> > as $foo and %foo already have essential meanings.
>
> no, but
> ; echo % true
> 0
> ; echo %(false)
> 1
> ;
Maybe I'm just really dumb, but this particular overloading looks like
it could get very confusing indeed. And notice that
; echo `ls
works, but
; echo %ls
doesn't.
However, since you and Byron both think that `foo is a good idea, my
chances of getting you to drop it and only allow `{foo} and <>{foo} (or
%{foo} or ${foo} or whatever) are about as small as my chances of
getting John to compile es with readline using gcc (but perhaps the
effort is not quite so misguided).
Think about what `foo actually gives you over `{foo}, and think about
the benefit of the visual simplification of insisting on enclosing {}
for both ` and <>. You GAIN two distict constructs (namely, `foo and
<>foo) for further expansion -- if we're running out of characters at
v0.8, how much more will we need them in v1.8? There are many
constructs I avoid in rc and es because more visually distinctive but
otherwise equivalent constructs exist -- readability is damned
important -- and `foo falls into this category.
> $& has everything to do with lookup: it looks up a procedure pointer
> in a dictionary of primitives. see prim.c.
Just because you chose to implement it as a lookup doesn't mean it
intrinsically has ANYTHING to do with lookup in the sense that $foo
does. The $& primitives are primitives -- end of story. Is there
anything in their semantics which forces them to be implemented in
the same manner as a generic $foo? Am I just being dumb?
%%foo is at least clearly related to %foo; $&foo is not.
Finally, if you take away my ability to use % as a command name, I'm
going to be spitting PASTEL PINK comets with BRIGHT ORANGE spots and
LIME GREEN stripes. Take a look at my email address if you doubt
it...