Another advantage I like in Scheme is that parenthesized Lisp seems to have
a special feature, missing in any other language I can think of: while it's
pretty repulsive to read, it isn't any _more_ repulsive to read
machine-generated code than hand-crafted human-edited code.
The downside I see to this GNU Extension Language plan is illustrated by
RMS's plan to pile language uglifications (which is calls "extensions") onto
Scheme: bloat and inconsistency. RMS opened this discussion (in his "Why you
shouldn't use TCL" flamebait) by suggesting we learn a lesson from GNU
Emacs. Well, the important lesson I see in GNU Emacs is that it takes
restraint to avoid having a successful program bloat up until it eats 10s of
megs of VM and disk, all in overhead.
I don't care to have two different false values in scheme, and lose the
distinction between a false result and an empty list. But then, I've never
particularly wanted to run dissociated-press over the output of
psychoanalyze-pinhead, either. I think psychoanalyze-pinhead is the
important lesson of GNU Emacs.
-Bennett
bet@mordor.com