Joe Marshall scripsit:

> Suppose there were a standard mechanism of `deprecating' some language 
> feature.

Most standards bodies do have such a concept.  Of course, the deprecated
features are rarely removed: Hollerith constants have been deprecated in
Fortran since 1966, but many compilers still provide them for compiling
dusty decks.

Note that 13 features were removed between R2RS and R3RS, and 18 more
between R3RS and R4RS.  3 features were removed completely between
R5RS and R6RS, and 9 features exiled to the R5RS compatibility library,
which is not imported by default.

> There's an asymmetry here.  A new, untested feature is usually easy to add
> because it is unlikely to break anything that already exists.

All too fatally easy.  I have currently only 4 bound identifiers that
don't correspond to something in R5RS, R6RS, or a widely implemented SRFI.
(I renamed a few.)  Those are case-folding, rational-expt, string->vector,
and vector->string.

> But an existing feature is impossible to remove because it is unknown
> if it will break existing code.

Hence the Hollerith strings:  6HABCDEF for 'ABCDEF'.

> It's easy to standardize on a new feature if everyone has independently added 
> it
> as an extension.  The consensus is obvious.  

Hence most of my list.

-- 
John Cowan  [email protected]  http://ccil.org/~cowan
The competent programmer is fully aware of the strictly limited size of his own
skull; therefore he approaches the programming task in full humility, and among
other things he avoids clever tricks like the plague.  --Edsger Dijkstra

_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss

Reply via email to