Language change proposal
Fredrik Linder
fredrik.linder@REDACTED
Wed Oct 22 14:05:05 CEST 2003
This sounds like an excellent proposal!
/Fredrik
> -----Original Message-----
> From: owner-erlang-questions@REDACTED
> [mailto:owner-erlang-questions@REDACTED]On Behalf Of Joe Armstrong
> Sent: den 22 oktober 2003 13:27
> To: erlang-questions@REDACTED
> Subject: Language change proposal
>
>
>
> Hi everybody - I'd like to propose the following language change:
>
> (It's *very* easy to implement)
>
> I want all Erlang modules to be tagged with a "language version"
>
> Like this ...
>
> ------------------------------------------------------------------------
>
> Suppose the next version of Erlang is 5.3 then:
>
> 1) All modules *must* start
>
> -module(XXXX).
> -vsn("5.3").
>
> 2) Any module *without* a version is assumed to be "5.2"
>
> 3) If there is no version the compiler should complain like hell
> with a warning that cannot be turned off that an explicit
> language
> version is not present.
>
> 4) There should be files called "depreciated_5.3.{erl,txt}"
> that tell the user what language language features and library
> routine have been depreciated in version 5.3
>
> The text file should describe the depreciated features.
>
> The Erlang file can be used by the compiler to provide
> warnings about
> depreciated features.
>
>
> Then - somewhat later - when we change to version 5.4
>
> The same rules apply - with one exception - warnings issued about
> depreciated constructs in 5.3 now become hard errors - and there is no
> way to turn off this behaviour.
>
> -------------------------------------------------------------------------
>
> Versions should be numbered X.Y.Z
>
> Bumping X is done for syntax changes to Erlang, or changes in the
> semantics if BIFs etc. (serious things).
>
> Bumping Y is done for depreciated library functions bug fixes
> in libraries
>
> Bumping Z is done for cosmetic reasons
>
> --------------------------------------------------------------------------
>
> *******
> * Why *
> *******
>
> We need enforceable mechanisms to *remove* things from the Erlang
> libraries and from the language.
>
> Erlang is getting bigger and things are not being removed.
>
> As regards customers who crave backwards compatibility tell them that
> if they want to use the new stuff they will have to change their code.
>
> The version that they used in their products should always be
> supported into the future - but the cost of doing so should increase
> as you bump the version numbers.
>
> This is *exactly* what the chip manufacturers do - have you ever
> tried to buy "old" memory chips - they cost a fortune !!!!
>
> IMHO their should be no language changes until it can be
> realistically demonstrated that we can remove things from the
> language.
>
> /Joe
>
>
>
More information about the erlang-questions
mailing list