Nestade backquoteuttryck är roliga. Jag har nog aldrig haft anledning att skriva ,@', förut.
(defun map-flet-subforms (bindings body) (flet ((map-lambda-list (lambda-list) (mapcar (lambda (arg) (destructuring-case arg ((x y . z) ``(,',x ,(%map ,y) ,@',z)) (x `',x))) lambda-list))) ``(flet (,,@(mapcar (lambda (binding) (destructuring-bind (name lambda-list . body) binding ``(,',name (,,@(map-lambda-list lambda-list)) ,,@(mapcar (lambda (x) `(%map ,x)) body)))) bindings)) ,,@(mapcar (lambda (x) `(%map ,x)) body)))) _______________________________________________ Lisp mailing list Lisp@lisp.se http://mailman.nocrew.org/cgi-bin/mailman/listinfo/lisp