Guest User

Untitled

a guest
Jul 12th, 2018
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lisp 0.21 KB | None | 0 0
  1. (defmacro lazy (&body body)
  2.     (let ((forced (gensym))
  3.         (value (gensym)))
  4.     '(let ((,forced nil)
  5.         (,value nil))
  6.         (lambda ()
  7.             (unless ,forced
  8.                 (setf ,value (progn ,@body))
  9.                 (setf ,forced t))
  10.             ,value))))
Add Comment
Please, Sign In to add comment