[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