#|
So much happening ... Please tune into aNONradio tomorrow! Synthetic wumpuses
will be hunted. I think. I've got an idea.
But for now while bone tired, I was thinking about knocking it up a level. Truth
be told (as usual) ldbeth mentioned using a two-quasiquote macro. It's something
I never really grokked.
Here's a try.
|#
(defmacro lamdef ((nth) &body body) "
(lamdef (nth) ..forms..)
a list of
(0) : CARs of the forms
or
(1) : Quoted forms
or
(2) : evaluated forms
"
`(format t "~@{~a~%~}"
,@(mapcar
(lambda (lambda)
`(nth-value ,nth
(let ((lambda ',lambda))
(apply 'values `(,(car lambda)
,lambda
,,lambda)))))
body)))
#|
Well macros can be confusing. I think if I used the nth parameter more
vigorously something interesting would be happening. I've just shadowed the name
lambda and used commas to access the name at different levels.