From: Raymond T. <to...@rt...> - 2003-07-10 13:46:19
|
>>>>> "Sam" == Sam Halliday <fo...@ya...> writes: Sam> (C1) diff(sin(x),x); Sam> (D1) COS(x) Sam> the result is as expected. if however, i use build maxima with clisp Sam> CVS, i get this; Sam> (C1) diff(sin(x),x); Sam> d Sam> (D1) -- (SIN(x)) Sam> dx This is caused by a recently discovered bug. CVS CMUCL also fails in this way. Here is a potential solution. Just use the following replacement in src/commac.lisp. Ray (defun maclisp-typep (x &optional type) (cond (type (lisp:let ((pred (get type 'ml-typep))) (cond (pred (funcall pred x)) (t (typep x type))))) (t (typecase x (cl:cons 'list) (cl:fixnum 'fixnum) (cl:integer 'bignum) (cl:float 'flonum) (cl:number 'number) (cl:array 'array) (cl:hash-table 'hash-table) (t (type-of x-type)))))) |