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

[no subject]


    Date: 14 FEB 1980 0820-EST
    From: GLS at MIT-AI (Guy L. Steele, Jr.)

    In system 25.0, with microcode 612, on LISP Machine Two:
    	(SOME '(a b 1 c) #'numberp #'cddr)
    will claim that (FUNCTION CDDR) has an invalid function definition.

This is because SOME and EVERY are not actually functions, they are special
forms.  What you wanted to say was: (SOME '(a b 1 c) #'numberp cddr) which
would expand into:

	(DO ((SI:*L* '(a b 1 c) (cddr SI:*L*)))
	    ((NULL SI:*L*) T)
	  (AND (FUNCALL #'numberp (CAR SI:*L*))
	       (RETURN SI:*L*)))

(has its little problems doesn't it!)

Now the 64k question is: is this what we really want?  I seem to remember
that these are Interlisp compatibility crocks, is this the way they work in
Interlisp?  Anybody out there actually know?