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