[Maxima] Integral lookup and CLISP

Billinghurst, David (RTATECH) David.Billinghurst at riotinto.com
Sun Jan 4 17:19:12 CST 2009

> From:  Dieter Kaiser
> CLISP has a problem with the routine to lookup the integrals 
> for the Bessel functions. The following code is the reason:
> 	    ;; If form is a function then evaluate it with actual args
> 	    (or (not (functionp form))
> 		(setq form (apply form real-args))))
> In CLISP the expression (functionp (lambda (x y) ... )) gives 
> always NIL and not T as is expected. The evaluation is not 
> done and later in the code we get an Lisp Error with the 
> unevaluated lambda expression.
> For GCL the test with functionp works.
> Dieter Kaiser

I can reproduce this with CLISP 2.46 on cygwin, and I think that 
CLISP is correct.

The common lisp hyperspec for FUNCTIONP gives as examples:
 (functionp '(lambda (x) (* x x))) =>  false
 (functionp #'(lambda (x) (* x x))) =>  true
CLISP conforms, but gcl gives true in both cases.

I need to read up on this some more.  Suggestions/patches welcome.

This email is confidential and may also be privileged.  If you are not the intended recipient, please notify us immediately and delete this message from your system without first printing or copying it. Any personal data in this email (including any attachments) must be handled in accordance with the Rio Tinto Group Data Protection Policy and all applicable data protection laws.

More information about the Maxima mailing list