Language change proposal
Lennart Öhman
lennart.ohman@REDACTED
Wed Oct 22 14:37:37 CEST 2003
Not a bad idea. But I suggest another attribute since "vsn" is
already in use by OTP release handler.
-erts_vsn("5.3")
/Lennart
Fredrik Linder wrote:
> 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
>>
>>
>>
>
>
--
-------------------------------------------------------------
Lennart Ohman phone : +46-8-587 623 27
Sjoland & Thyselius Telecom AB cellular: +46-70-552 6735
Sehlstedtsgatan 6 fax : +46-8-667 8230
SE-115 28 STOCKHOLM, SWEDEN email : lennart.ohman@REDACTED
More information about the erlang-questions
mailing list