Re: set.lisp redefines POWERSET / {} for sets



>>>>> "Stavros" == Stavros Macrakis <stavros.macrakis@verizon.net> writes:

    Stavros> About using the CL package system, be aware that it affects not only
    Stavros> function names, but all symbols in a package.  That includes special
    Stavros> variables, names of get/put properties, expression constituents (MPLUS,
    Stavros> IRREDUCIBLE), etc.  So it is not enough to export just functions that
    Stavros> are used externally.  I suppose it would be a decent first
    Stavros> approximation, though, to make local any symbol which is only used in
    Stavros> only one file, and which is not named $xxx, %xxx, or ?xxx.

I think there was some thread from about a year ago where MAXIMA was
the package for all of maxima (as is currently done), but the user
(and top-level loop) was in the MAXIMA-USER package.

Then only certain symbols from MAXIMA were exported.  This would avoid
some weird things like the user typing y but getting Y printed out,
but typing x and getting x.  (Assuming Y was a symbol already defined
in maxima.)

I think someone did some of the upfront work to do this and it worked,
but obviously we haven't actually put it in.

Ray