(defun walk-lambda (form parent env) (with-form-object (func lambda-function-form :parent parent :source form) ;; 1) parse the argument list creating a list of FUNCTION-ARGUMENT-FORM objects (multiple-value-setf ((arguments func) env) (walk-lambda-list (second form) func env)) ;; 2) parse the body (multiple-value-setf ((body func) nil (declares func)) (walk-implict-progn func (cddr form) env :declare t)) ;; all done func))Source Context