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

Re: commonlisp types

    Date: Fri, 2 Dec 1988 00:40-EST 
    From: Jamie.Zawinski <jwz@spice.cs.cmu.edu>

    Can someone explain the rationale behind forcing SATISFIES to 
    accept only function-names and not lambda expressions?
    I can see that the compiler could have special knowledge about
    such forms as (SATISFIES PLUSP), but CLtL says lambdas are excluded
    "to avoid scoping problems."

I think this means that they didn't want to create confusion about
whether the lambda expressions produced lexical closures or not.
Someone might think that the following would work:

(defun strange-eq (x y)
  (typep x '(satisfies (lambda (object) (eq object y)))))