Related articles |
---|
Looking for volunteers for XL christophe@taodyne.com (Christophe de Dinechin) (2011-11-22) |
Re: Looking for volunteers for XL kaz@kylheku.com (Kaz Kylheku) (2011-11-26) |
Re: Looking for volunteers for XL christophe@taodyne.com (Christophe de Dinechin) (2011-11-26) |
Re: Looking for volunteers for XL bc@freeuk.com (BartC) (2011-11-26) |
Re: Looking for volunteers for XL christophe@taodyne.com (Christophe de Dinechin) (2011-11-27) |
Re: Looking for volunteers for XL bc@freeuk.com (BartC) (2011-11-27) |
Re: Looking for volunteers for XL kaz@kylheku.com (Kaz Kylheku) (2011-11-28) |
Re: Looking for volunteers for XL tdk@thelbane.com (Timothy Knox) (2011-11-27) |
Re: Looking for volunteers for XL bc@freeuk.com (BartC) (2011-11-28) |
Re: Looking for volunteers for XL gah@ugcs.caltech.edu (glen herrmannsfeldt) (2011-11-28) |
Re: Looking for volunteers for XL christophe@taodyne.com (Christophe de Dinechin) (2011-11-28) |
Re: Looking for volunteers for XL gah@ugcs.caltech.edu (glen herrmannsfeldt) (2011-11-29) |
Re: Looking for volunteers for XL jussi.santti@ard.fi (ardjussi) (2011-11-30) |
[10 later articles] |
From: | Kaz Kylheku <kaz@kylheku.com> |
Newsgroups: | comp.compilers |
Date: | Mon, 28 Nov 2011 04:45:11 +0000 (UTC) |
Organization: | A noiseless patient Spider |
References: | 11-11-048 11-11-053 11-11-054 |
Keywords: | design, comment |
Posted-Date: | 28 Nov 2011 00:11:10 EST |
On 2011-11-26, BartC <bc@freeuk.com> wrote:
> "Christophe de Dinechin" <christophe@taodyne.com> wrote in message
>>> [There were a bazillion extensible languages in the 1970s, many quite
>>> sophisticated. They all disappeared without a trace, largely because
>>> the ability to do per-program extensions meant that every program was
>>> written in a different language, making them all unreadable. ...
>
>> [I wrote actual programs in IMP-72. The compiler was slow, but not
>> unduly so for the time, and it was in the same ballpark as BLISS-11
>> which got a lot of use. (They both cross-compiled on a PDP-10.) We
>> gave up on it because we didn't want to try to remember which of six
>> slightly different case statements each program used. -John]
>
> Extensible languages have to be used with some care I think. Those
> features aren't for everyday use.
Actually, perhaps surprisingly, language extensibility features are for
everyday use.
> They should be used to turn a language X into a new language X2. X2
> should be properly designed, implemented, and documented. Then
> development should be halted.
This is worth doing for language extensions that are significant, and
of interest to a wider community of people. But it's a time-consuming
process.
Extensibility in the language allows such a thing to be conducted as a
project which regularly releases code (rather than just paper).
It also allows some fraction of any application to consist of some
extensions to give it a little domain-specific language or whatever.
> However, if the design of X2 isn't going to change, you might as well
> just write a compiler directly for X2; it's not necessary to make
> available, to the programmer of X2, all those untidy language-building
> features (for an example, see C++).
The problem with this idea is that X2 is not a completely new
language, but X with some extensions. Those extensions can be used in
parallel with other extensions to X.
You're trying to fit extensible languages into the traditional model,
in which a lone guru (or small group of such) working atop a mountain
carves a programming language onto stone tablets, which then descend
down to the masses.
Under an extensible language culture, the lone guru working in
isolation produces not a new language, but some new extension. These
can be released as code for people to try. Then when the bug reports
pour in and it's all hammered out, a formal spec can be written. The
guru deosn't get to ask everyone to ditch their language, only to add
something to it.
[Are you aware of anyone actually doing this? I agree that you might
expect extensible languages to be handy design testbeds, but somehow
other than in the Lisp community, it didn't work out that way. -John]
Return to the
comp.compilers page.
Search the
comp.compilers archives again.