Hello, Is the following behaviour intentional? I realize that it must be implementation-dependent, although I noticed these differences between ECL and SBCL.
ECL: (make-package :foo) -> #<"FOO" package> (defparameter foo::gentemp 10) -> GENTEMP (symbol-package 'foo::gentemp) -> #<"COMMON-LISP" package> On SBCL, SYMBOL-PACKAGE here reports the FOO package. Resuting from this, SBCL also allows DEFUN or (SETF (SYMBOL-FUNCTION 'FOO::GENTEMP) #'(LAMBDA ...) without issueing a lock error, and this seems sane, since the package is in FOO and FOO does not USE-PACKAGE CL. ECL reports that the symbol is part of COMMON-LISP even if that package doesn't :USE :CL, however, and a package locked error is issued if attempting to define a function on a symbol which exists in the COMMON-LISP package, even if the symbol is really another symbol of the same name that's in the FOO package and is not inherited. Of course, SBCL will issue a package locked error in the case where the FOO package USEs CL. Thanks, -- Matt ------------------------------------------------------------------------------ Don't let slow site performance ruin your business. Deploy New Relic APM Deploy New Relic app performance management and know exactly what is happening inside your Ruby, Python, PHP, Java, and .NET app Try New Relic at no cost today and get our sweet Data Nerd shirt too! http://p.sf.net/sfu/newrelic-dev2dev _______________________________________________ Ecls-list mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ecls-list
