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

Issue: MAKE-PACKAGE-USE-DEFAULT (version 1)



I can't approve of this proposal.

Many portable programs will be forced to put :USE "LISP" in where they
do not currently specify. There is no ambiguity in those programs --
they are using a well-advertised default -- so it is not proper to make
claims like "if they care, they should be specific".

Similar arguments could be made for the OPEN keywords. Perhaps all keys
should default in an implementation-dependent fashion and users should be
highly-specific about their intent.

I think it is appropriate for Common Lisp to specify useful portable defaults.
I think it is inappropriate for Common Lisp to be encouraging vendor
divergence. Common Lisp tolerates such divergence of necessity, but it
should not be a goal because it does not serve the user community.

Finally, under current practice, you ignored my remarks about Cloe so I'll
repeat them. Cloe shadows MAKE-PACKAGE, IN-PACKAGE, etc. in the default
package so that it offers the functionality you desire in a way that is
not incompatible to Lisp. I would recommend that you do the same.
 LISP:MAKE-PACKAGE name &KEY nicknames (USE "LISP")
 CLOE:MAKE-PACKAGE name &KEY nicknames (USE "CLOE")
Once you've chosen a package to work from, all calls to an unqualified
MAKE-PACKAGE do the thing that is natural for that initial package.