> To me, one of the most regrettable characteristics of
> the Algolic family of languages is the tendency of the
> compiler to turn into a giant black box of facilities
> open only to an elite minority of compiler hackers, which
> then begins inexorably sucking the entire programming
> support environment down its event horizon.
>
> I would much prefer that the concept of "compiler" in this
> sense did not exist, and that instead one had a nicely
> factored translation toolset wide open to the application
> programmer. Lisp and Forth begin to approach this ideal.
I am a bit puzzled about this statement. I used to think about Lisp
environments just in the same way that you characterize the compilers for
Algol-style languages. The typical Common Lisp environment is one big engine
with thousands of features and it takes a rather long time to get to the status
of an experienced user. Maybe it is a matter of familiarity with either style
of environment.
> Would it be possible to define an interface which
> allows the above sort of "Not if you're a left-handed
> programmer and it's Tuesday" restrictions to be
> separately implemented and kept out of the core
> language?
I am not sure if you can separate these issues, but there is one important
requirement. There must not be an easy or even moderately difficult way to
circumvent the restrictions. As they say, there is always a bad programmer in
your team.
Cheers,
Manuel