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

[Dan Carnese <Carnese@SPAR-20.ARPA>: proposal]

Actually, having the defining form export the symbol from its home
package is more problematic than exporting from the current package.
Consider a code fragment like:
    (in-package 'a :use '(lisp b))
    (defun-exported b::foo ...)

What package is the following "foo" in?  Obviously the DEFUN-EXPORTED
and the "foo" could be in the same form, so under some circumstances,
that "foo" couldn't possibly refer to B:FOO, yet if the compiler
happened to process the DEFUN-EXPORTED before the "foo" was read, then
it would be B:FOO. 

To say that these things are "just problems in the current language
definition" doesn't avoid the problem.  Adding new langauge features
is language design, and a language designer must consider how each
language feature will affect his ability to properly define the
language.  I am suggesting that this feature would significantly
complicate the language definition for what seems to me to be little