gcl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gcl-devel] functionp.4 (ansi-tests)??


From: Peter Wood
Subject: Re: [Gcl-devel] functionp.4 (ansi-tests)??
Date: Wed, 18 Dec 2002 06:33:45 +0100
User-agent: Mutt/1.4i

On Wed, Dec 18, 2002 at 06:05:20AM +0100, Peter Wood wrote:
> On Tue, Dec 17, 2002 at 07:49:48PM -0600, Paul F. Dietz wrote:
> 
> > Is the test succeeding for you?  It is for me, on gcl, Allegro CL, and CMU 
> > CL.
> 
> No.
> 
> > And (FUN4RES) *should* return NIL iff the loop in the test returns T.
> > 
> 
> I know that.  That's what I'm moaning about.  (fun4res) returns NIL
> (fun4res2)  returns T, as they should.  But the test reports a
> failure.
> 

To make it perfectly clear:  Here is the output from ANSI-TESTS
functionp.4 and my tests.

;;ANSI-TESTS
Top level.
> (rt::do-test 'cl-test::functionp.4)

Test CL-TEST::FUNCTIONP.4 failed
Form: (LOOP
        CL-TEST::FOR
        CL-TEST::X
        CL-TEST::IN
        CL-TEST::*CL-SYMBOL-NAMES*
        CL-TEST::FOR
        CL-TEST::S
        =
        (FIND-SYMBOL CL-TEST::X "CL")
        CL-TEST::FOR
        CL-TEST::F
        =
        (AND (FBOUNDP CL-TEST::S) (SYMBOL-FUNCTION CL-TEST::S)
             (NOT (SPECIAL-OPERATOR-P CL-TEST::S))
             (NOT (MACRO-FUNCTION CL-TEST::S)))
        CL-TEST::ALWAYS
        (OR (NULL CL-TEST::F) (FUNCTIONP CL-TEST::F)))
Expected value: T
Actual value: NIL.
NIL
;===============================================================
;;MY TESTS
;;;the following function should return T and does in fact do so.
(defun fun4res2 ()
  (loop for x in cl-test::*cl-symbol-names*
        for s = (find-symbol x "CL")
        for f = (and (fboundp s)
                     (symbol-function s)
                     (not (special-operator-p s))
                     (not (macro-function s))
                     (symbol-function s))
        always (or (null f)
                   (typep f 'function))))

FUN4RES2

> (fun4res2)

T
;===============================================================
;;;the following function should return NIL and does in fact do so.
(defun fun4res ()
  (remove-if #'(lambda (f) (or (null f) (typep f 'function)))
               (loop for x in cl-test::*cl-symbol-names*
                   for s = (find-symbol x "CL")
                   for f = (and (fboundp s)
                                (symbol-function s)
                                (not (special-operator-p s))
                                (not (macro-function s))
                                (symbol-function s))
                   collect f )))

FUN4RES

> (fun4res)

NIL
;=================================================================

?

Regards,
Peter






reply via email to

[Prev in Thread] Current Thread [Next in Thread]