Subject: Re: mapcar on function arguments
From: Erik Naggum <erik@naggum.no>
Date: 1997/04/26
Newsgroups: comp.lang.lisp
Message-ID: <3071059981571282@naggum.no>


* Dirk Bernhardt
| mapcar, which is supposed to apply its first argument to each element of
| its second argument (according to my documentation), will not evaluate
| (mapcar #'foo '(#'+ #'*)), but the evaluation of
| (mapcar #'foo '(+ *)) ==> (7 12)
| works instead. Can you help me?

* Ken Tilton
| I suggest you modify #'foo to print its argument and the argument's type,
| or even inspect its argument. Hint: (list <something>) is not always the
| same as '(<something>).

I'll take that hint a bit further, since this is a frequent problem for
beginners in Lisp (as witnessed mostly in Emacs Lisp):

the value of '(x y z) is identical to the value of (list 'x 'y 'z) in all
but one respect (the time at which the list is constructed).

'x is identical to (quote x) in all respects.

#'x is identical to (function x) in all respects.

you should get the idea, now.

#\Erik
-- 
if we work harder, will obsolescence be farther ahead or closer?