[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Return of the Packages Strikes Back

The latest package.mss looks great.  I hate to be late with this, but there is
one very minor clarification that should go in.  In the section "Package Names"
there is a sentence that reads:

Package name strings retain whatever mixture of upper and lower case characters
the user supplies, but the translation from names to packages is case-
insensitive, so users can generally refer to packages without worrying about

The meaning of "retain" in this context is not entirely clear.  Clearly it must
refer to the string returned by PACKAGE-NAME; that's the only way to get a
string back from a package.  That should be stated explicitly.  Instead, I
suggest leaving out any mention of retention of case, since the same issues
apply here as in the case of symbols.  Is the case retained that of the string
given when the package was created, or that of the last call to FIND-PACKAGE?
How does this affect printing?  If anything, it should be stated that the string
returned by PACKAGE-NAME is always upper case, to match the treatment of symbols
by READ.  Of course, FIND-PACKAGE is really analogous to INTERN, which is
sensitive to case...

As long as we're on the subject, the printing process for package prefixes
should be described, probably in the Input and Output chapter.  I guess what's
expected is that package prefixes get printed "like" symbols, w.r.t. slashifying
special characters and the effect of *PRINCASE*, except perhaps it's impossible
to "really" have a lower case character in a package name like in a symbol.

Just when you thought it was safe to go back in the water...