intersection?



>>>>> "Ole" == Ole Rohne <ole.rohne@cern.ch> writes:

    Ole> Raymond Toy <toy@rtp.ericsson.se> writes:
    >> After looking over the code, I think maxima's INTERSECTION is the same
    >> as Lisp's INTERSECTION so it probably shouldn't be defined at all.

    Ole> Hmm... There must be some difference - on CMUCL, MAXIMA::INTERSECTION
    Ole> breaks DEFPACKAGE. I discovered this as I converted
    Ole> maxima-package.lisp to use DEFPACKAGE. First time loading the
    Ole> DEFPACKAGE form works fine, second time (after loading the rest of
    Ole> Maxima) it complains about the number of arguments to INTERSECTION.

Ok, I think I know the problem:  CMUCL's defpackage uses intersection
with the :test keyword option, so maxima's intersection isn't going to
work.

And a closer look shows that maxima's intersection is the same as CL's
intersection if :test #'equal is used (because zl-delete and zl-member
use the #'equal test)


    >> Besides, I don't think you're allowed to redefine functions in the
    >> COMMON-LISP package.

    Ole> Exactly. I'd put it on the shadow list together with COMPLEMENT and
    Ole> CONTINUE. It is good that CLISP seems to warn about redefining symbols
    Ole> in the CL package - I'd be surprised if INTERSECTION and TYPE-ERROR
    Ole> are the only ones.

Probably not.  I haven't done a full build in a long while and I don't
look at the messages anymore.

Ray