Re: GNU Extension Language Plans

Bennett Todd (bet@ritz.mordor.com)
Thu, 27 Oct 1994 01:06:38 GMT

I see several advantages to Scheme as the core scripting language. It is a
small, simple language. Its core functionality easily supports the semantic
features required for other languages. Of course, some of 'em are slow.
Dynamic (as opposed to lexical) scoping is slow, for instance. So changing
the a language's definition from dynamic to lexical scoping can help speed
up the implementation (e.g. TCL -> Rush).

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