- Code: Select all
(defparameter *test-symbol*
((lambda (x) (format t "x: ~a~&" x) x)
(lambda (y) (format t "y: ~a~&" y) y)))
I've come across a similar construct in someone else's code. It works, but I'm struggling to understand what does it do, and no luck so far

Can someone, please, explain what is being saved into *test-symbol*? I could only figure so far that it is callable and what gets executed is the (lambda (y) ...), but what (lambda (x) ...) does and why it gets called when the entire construct is being defined is beyond me. Lastly, no matter what first lambda returns, the construct seem to generate no problems, however, if I replace the first lambda by it's return value, of course I get an error.
Thanks!