From 4f4f0aad6db508de2a59d29b59cc738a6ece4c4d Mon Sep 17 00:00:00 2001 From: Matthias Andreas Benkard Date: Sun, 3 Aug 2008 10:43:56 +0200 Subject: Add DEFTYPE. --- defun-1.lisp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'defun-1.lisp') diff --git a/defun-1.lisp b/defun-1.lisp index 51e9db0..875b7a5 100644 --- a/defun-1.lisp +++ b/defun-1.lisp @@ -21,7 +21,7 @@ (export '(defmacro defun)) -(%defun* make-defun-body (lambda-list body) +(%defun* make-defun-body (lambda-list body destructuring-p) (let ((lambda-sym (gensym))) `(,lambda-sym (d-b ,lambda-list nil nil ,lambda-sym @@ -29,7 +29,7 @@ (%defmacro* defun (name lambda-list . body) `(%defun ,name - ,@(make-defun-body lambda-list body))) + ,@(make-defun-body lambda-list body nil))) (%defun* make-defmacro-body (lambda-list body) (let ((arg-sym (gensym)) @@ -49,7 +49,11 @@ (%defmacro* lambda (lambda-list . body) `(%lambda - ,@(make-defun-body lambda-list body))) + ,@(make-defun-body lambda-list body nil))) + +(%defmacro* destructuring-lambda (lambda-list . body) + `(%lambda + ,@(make-defun-body lambda-list body t))) (defun funcall (function &rest arguments) (apply function arguments)) -- cgit v1.2.3