[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: CLARIFICATION: [italics]package arguments.
> Are the package functions that take a package argument in CLTL with
> the name [italics]package allowed to have a string or symbol as that
> argument? If so, HP take note, we had to make a lot of changes in our
> Symbolics generated code to make it port to CL on the HPAIWS. If not,
> then why not?
No, they aren't. We looked very carefully in Steele for an indication that
they were allowed, but they aren't. It quite clearly states on most
of these functions that "The argument must be a package." A name of a
package is not a package. The problem with being "nice" by stretching what
the standard says is exactly the problem you have. If, as I believe from
my reading of Steele, package names are not allowed, then Symbolics is
violating the standard, and thus lulling people into writing non-portable
code (as you did). We opted for a strict interpretation, because code
developed on our machines will have a much better chance of being portable.
Besides, if standard doesn't say what people want it to say, then it should
be changed -- that doesn't mean language developers should ignore the
standard because they don't like it.
By the way, I don't know of any reason why the package functions couldn't
take a name as well (except that for package-name, it wouldn't make much
sense).
John Diamant