[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
issue COMPILE-FILE-PACKAGE
- To: cl-compiler@sail.stanford.edu
- Subject: issue COMPILE-FILE-PACKAGE
- From: sandra%defun@cs.utah.edu (Sandra J Loosemore)
- Date: Thu, 1 Sep 88 15:35:07 MDT
Issue: COMPILE-FILE-PACKAGE
References: CLtL p. 182, 183
Category: CHANGE, CLARIFICATION
Edit History: 1 Sep 1988, Sandra Loosemore (initial version)
Problem Description:
The variable *PACKAGE* is rebound by the function LOAD, so that its
old value will be restored in spite of any calls to IN-PACKAGE
appearing in the file being loaded. Since COMPILE-FILE must evaluate
any top-level calls to IN-PACKAGE that it sees, it may also alter the
value of *PACKAGE*. It is inconsistent to have COMPILE-FILE and LOAD
behave differently regarding the rebinding of this variable.
Proposal COMPILE-FILE-PACKAGE:REBIND:
Require COMPILE-FILE to rebind *PACKAGE* before processing the file.
Rationale:
This makes COMPILE-FILE and LOAD more consistent. It is a more
compatible solution than either requiring LOAD not to rebind
*PACKAGE*, or removing the specialness of IN-PACKAGE and the other
package functions.
Current Practice:
Lucid Common Lisp already implements this proposal.
Cost to implementors:
Trivial.
Cost to users:
I find it hard to believe that users would consider COMPILE-FILE altering
the value of *PACKAGE* as a useful side effect.
Benefits:
The language is made more uniform.
Discussion:
-------