diff --git a/implementation/divers.lisp b/implementation/divers.lisp index 3e0261b..2a7d02a 100644 --- a/implementation/divers.lisp +++ b/implementation/divers.lisp @@ -102,15 +102,15 @@ (defmacro let (bindings &rest body) `((lambda ,(mapcar #'car bindings) - ,body) - ,(mapcar #'cdar bindings))) + ,@body) + ,@(mapcar #'cadr bindings))) (defmacro let* (bindings &rest body) (if (endp bindings) - body - `(let (,(car bindings)) - (let* ,(cdr bindings) - ,body)))) + `(progn ,@body) + `(let (,(car bindings)) + (let* ,(cdr bindings) + ,@body)))) (defmacro labels (f-bindings &rest body) ;; TODO