[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Questions about (function eq)
I have several questions concerning the difference between
(pushnew 'foo bar :test #'eq)
and
(pushnew 'foo bar :test 'eq)
What are the semantic differences? Is there
a difference between
(defun xyz ()
(flet ((eq (a b) (bar a b)))
(pushnew 'foo bar :test #'eq)))
and
(defun xyz ()
(flet ((eq (a b) (bar a b)))
(pushnew 'foo bar :test 'eq)))
What are the stylistic differences?
Which of the following macro definitions
is preferred? Why?
(defmacro foo (fn)
(if (eq fn 'eq)
'(expansion-1 ...)
'(expansion-2 ...)))
(defmacro foo (fn)
(if (eq fn #'eq)
'(expansion-1 ...)
'(expansion-2 ...)))
(defmacro foo (fn)
(if (or (eq fn #'eq) (eq fn 'eq))
'(expansion-1 ...)
'(expansion-2 ...)))
Michael Greenberg
greenberg@cs.umass.edu