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
