Erlang is getting too big
Thomas Lindgren
thomasl_erlang@REDACTED
Tue Oct 14 09:11:40 CEST 2003
--- Robert Virding <robert.virding@REDACTED> wrote:
> Have you ever tried to remove, or change, anything
> in a distribution.
> I think not. It is in principle impossible to make a
> backwards
> incompatible change, no matter how sesnible and
> approved. I know
> I have tried for many years when I was working with
> it. That is one
> reason why the language keeps growing, you can add
> improvements
> but can't remove the old stuff.
Summary: how about doing structured language releases?
Intro:
I think you are being too pessimistic. The more recent
releases of OTP are capable of warning about using
obsolete stuff, which is what is needed. They also
break existing code (cond :-).
My experience is that new Erlang releases are not
introduced into products willy-nilly anyway, but after
a period of testing and perhaps porting. *Modest*
changes to the source, including not relying on bugs
or obsolete stuff, might be acceptable in this
process.
Changes to the language still need to be sensible to
be accepted, of course. And your (deleted) point about
new features escaping the lab too soon is well taken.
Case in point: records = tuples.
The point:
There is an ad hoc way to indicate which "version" of
Erlang you want when you compile today.
I think it would be a good idea to formalize this into
structured language releases (one every few years),
explicit notes of obsolete, non-portable or ephemeral
features, etc. And, importantly, add a linter to
detect non-compliant usage.
Experimental additions could be done separately from
mainline OTP, then be added to the language spec when
accepted.
Best,
Thomas
__________________________________
Do you Yahoo!?
The New Yahoo! Shopping - with improved product search
http://shopping.yahoo.com
More information about the erlang-questions
mailing list