Advertisement
Guest User

Untitled

a guest
Aug 31st, 2018
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lisp 0.22 KB | None | 0 0
  1. (defmacro collecting (&body b)
  2.   (let ((head (gensym "HEAD")) (tail (gensym "TAIL")))
  3.     `(let* ((,head (list nil)) (,tail ,head))
  4.        (flet ((collect (x) (setf (cdr ,tail) (list x) ,tail (cdr ,tail)))) ,@b (cdr ,head)))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement