Just to take this up one level.

Suppose there were a standard mechanism of `deprecating' some language feature.
The mechanism would warn you that the feature is discouraged, but continue to
permit use.  Let's pretend that `deprecation' has been in the language
since R3RS
and nearly every Scheme supported it.

Now we fast forward to, say, 2012.  Nearly every implementation of Scheme has
deprecated `string-set!' and perhaps `set-car!' and `set-cdr!'.  Now
instead of arguing
about removing these from the language, it's pretty much a no-brainer.

There's an asymmetry here.  A new, untested feature is usually easy to add
because it is unlikely to break anything that already exists.  But an
existing feature
is impossible to remove because it is unknown if it will break existing code.
It's easy to standardize on a new feature if everyone has independently added it
as an extension.  The consensus is obvious.  Old features don't have a mechanism
to become moribund.

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

Reply via email to