[r6rs-discuss] What's up with the library names?
aghuloum at cs.indiana.edu
Tue May 22 23:50:34 EDT 2007
This is not a formal comment.
The names of all the standard libraries have changed from
(r6rs <something> ...) to (rnrs <something> ... (6)). Why?
First, this is making the names really ugly :-). Having to
type (rnrs base (6)) instead of (r6rs base) means adding this
superfluous (6) to every single standard imported library in
every library I write. It just feels like you don't want me
to use it by making the syntax ugly.
Second (seriously now), if your motivation behind adding the
version number is to allow future revisions to r6rs (before
r7rs), then this usage of the versioning is not exactly
correct. What you need to say is that this is revision 1 of
r6rs, or (r6rs base (1)). This makes importing (r6rs base)
meaningful (e.g. I want the current version of the r6rs base
library). Importing (rnrs base), on the other hand, is
meaningless as we don't even know if the future reports will
have a base library or what its contents are. Also, (nrns
unicode (6)) reads like unicode-v6 (current unicode standard
is 5 IIRC). The name does not indicate what part you're
versioning, the report version, the unicode version, or the
report's unicode library version. (r6rs unicode) means
r6rs's unicode library, end of the story.
Third, this usage is likely to be doomed just like the
(scheme-report-environment 5) of r5rs. It was 5 and stayed 5
and got completely replaced by a new construct. r6rs should
not have to worry about future reports, sorry.
Please please please, revert back to the old names.
More information about the r6rs-discuss