Use destructuring-bind
authorDavid Vázquez <davazp@gmail.com>
Sat, 29 Jun 2013 16:32:05 +0000 (18:32 +0200)
committerDavid Vázquez <davazp@gmail.com>
Sat, 29 Jun 2013 16:34:36 +0000 (18:34 +0200)
src/compiler.lisp

index 71e74f8..10783e9 100644 (file)
     ((and (listp x) (eq (car x) 'lambda))
      (compile-lambda (cadr x) (cddr x)))
     ((and (listp x) (eq (car x) 'named-lambda))
-     ;; TODO: destructuring-bind now! Do error checking manually is
-     ;; very annoying.
-     (let ((name (cadr x))
-           (ll (caddr x))
-           (body (cdddr x)))
+     (destructuring-bind (name ll &rest body) (cdr x)
        (compile-lambda ll body
                        :name (symbol-name name)
                        :block name)))