X-Git-Url: https://git.hcoop.net/clinton/parenscript.git/blobdiff_plain/1e8ddaee0ed20bffcb7ecb65203ee3d8725d2c1b..faa26a99e67121e428a310a90b997d00b77af5bc:/src/special-forms.lisp diff --git a/src/special-forms.lisp b/src/special-forms.lisp index 7109cf5..25dc963 100644 --- a/src/special-forms.lisp +++ b/src/special-forms.lisp @@ -595,6 +595,14 @@ lambda-list::= ,@body)) `(progn ,@body))) +(defpsmacro letrec (bindings &body body) + `(let ,(mapcar (lambda (bind) + (list (car bind) 'null)) + bindings) + ,@(mapcar (lambda (bind) `(var ,(car bind) ,(cadr bind))) + bindings) + ,@body)) + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; iteration (defun make-for-vars/inits (init-forms)