Browsing through Common Lisp sources I notice that people most often use #'foo
where 'foo
would suffice – that is, wherever a function designator is accepted, they choose to pass a function.
Of course #'foo
is necessary when foo
is defined via flet
and so forth. I understand the mechanics of it all – my question is one of style. Is it just because people don't want to think about 'foo
versus #'foo
, so they use the latter because the former will sometimes not work? Even if that were so, it wouldn't explain the use of #'(lambda ...)
because #'
is always unnecessary there.
CL is sometimes called ugly because of #'
, and most newcomers don't realize that it's unnecessary in (I daresay) the majority of cases. I'm not a newcomer but I happen to prefer 'foo
. Why am I unusual? If I publish some code that gives symbols to funcall
and apply
, will I be mocked and humiliated? I am considering starting a Function Designators Anonymous chapter in my area. I suspect that people want to use function designators but, due to peer pressure, are afraid to "come out" about it.