Skip to main content


A question for the #lisp folx:
What, if anything, is the difference between #'(lambda ...) and just plain (lambda ...)?

They seem functionally equivalent to me.

#lisp
in reply to Jonathan Lamothe

It is only relevant in a lisp2.
(lambda ...) is just a macro call that expand in the other form.
From the common lisp spec :
(lambda lambda-list [[declaration* | documentation]] form*)
 ==  (function (lambda lambda-list [[declaration* | documentation]] form*))
 ==  #'(lambda lambda-list [[declaration* | documentation]] form*)
in reply to Jonathan Lamothe

lambda returns a function, so the symbol-function syntax is redundant now. It wasn't always that way in CL's history. Anyway, no need to use #' with lambda now.
in reply to Jonathan Lamothe

in common lisp I think the # should be redundant for lambdas. But I haven’t touched common lisp in years so I hope i remember right.
in reply to Jonathan Lamothe

Yes, functionally equivalent. (lambda …) was a late addition to #CommonLisp to make it more compatible with #ISLisp

This website uses cookies. If you continue browsing this website, you agree to the usage of cookies.