Re: LambdaTensor and Maxima



(I'm forwarding this to the Maxima mailing list.)

Sigh. We have hacked around many such problems. Try globally replacing
intersection with hyp-intersection in hyp.lisp. Be sure to include both
uppercase and lowercase versions. I hope that will solve the problem.
Please let me know either way.

Does anyone know how the Debian version number for CMUCL relates to the
official CMUCL version number?

--Jim

On Fri, 2002-08-30 at 10:29, Thomas Fischbacher wrote:
> 
> Hm,
> 
> when trying to compile MAXIMA 5.9.0 (fetched via anon CVS, as
> described on the webpage) for cmucl 3.0.8 18c+
> (cmucl 3.0.9 package for Debian GNU/Linux 3.0 (woody, x86)),
> I encounter the problem that the MAXIMA package uses
> COMMON-LISP, and src/hyp.lisp tries to define INTERSECTION, which
> unfortunately already *is* present in COMMON-LISP, coming from CMUCL's
> src/code/list.lisp.
> 
> In a bare CMUCL:
> 
> * (describe 'intersection)
> 
> INTERSECTION is an external symbol in the COMMON-LISP package.
> Function: #<Function INTERSECTION {100A40A1}>
> Function arguments:
>   (list1 list2 &key key (test #'eql testp) (test-not nil notp))
> Function documentation:
>   Returns the intersection of list1 and list2.
> Its declared argument types are:
>   (LIST LIST
>         &KEY
>         (:KEY (OR FUNCTION SYMBOL))
>         (:TEST (OR FUNCTION SYMBOL))
>         (:TEST-NOT (OR FUNCTION SYMBOL)))
> Its result type is:
>   LIST
> It is currently declared maybe-inline; expansion is available.
> On Monday, 12/31/01 10:48:17 am [-1] it was compiled from:
> target:code/list.lisp
> ^^^^^^^^^^^^^^^^^^^^^ !!!
> 
> However, if I make MAXIMA, and then do a "make check", I get a debugger
> prompt. If I then do:
> 
> 1] (describe 'intersection)
> 
> INTERSECTION is an external symbol in the COMMON-LISP package.
> Function: #<Function INTERSECTION {11962519}>
> Function arguments:
>   (l1 l2)
> Function documentation:
>   Returns the intersection of list1 and list2.
> Its declared argument types are:
>   (LIST LIST
>         &KEY
>         (:KEY (OR FUNCTION SYMBOL))
>         (:TEST (OR FUNCTION SYMBOL))
>         (:TEST-NOT (OR FUNCTION SYMBOL)))
> Its result type is:
>   LIST
> It is currently declared maybe-inline; expansion is available.
> On Friday, 8/30/02 04:38:29 pm [-2] it was compiled from:
> /tmp/maxima/src/hyp.lisp
> ^^^^^^^^^^^^^^^^^^^^^^^^ !!!
> 
> In fact, COMMON-LISP::INTERSECTION was overwritten by the MAXIMA
> definition, causing trouble via the common-lisp-controller who uses
> CMUCL's defpackage which in turn uses intersection...
> 
> This is strange, especially since I don't quite see what changed from 5.4
> where this problem didn't seem to occur.
> 
> Since I don't have a good overview over the MAXIMA source code, I could
> need some help to sort this out. Eventually, I'll have to update my
> webpages to give correct availability information for MAXIMA.
> 
> -- 
> regards,               tf@cip.physik.uni-muenchen.de              (o_
>  Thomas Fischbacher -  http://www.cip.physik.uni-muenchen.de/~tf  //\
> (lambda (n) ((lambda (p q r) (p p q r)) (lambda (g x y)           V_/_
> (if (= x 0) y (g g (- x 1) (* x y)))) n 1))                  (Debian GNU)
>