Advertisement
Guest User

examples of special variables

a guest
Oct 17th, 2013
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lisp 0.58 KB | None | 0 0
  1. (defun make-lexical-printer (value)
  2.   (lambda ()
  3.     (print value)))
  4.  
  5. (let ((printer (make-lexical-printer 78)))
  6.   (funcall printer)) ; prints 78
  7.  
  8. (defun make-special-printer (value)
  9.   (declare (special value))
  10.   (lambda ()
  11.     (print value)))
  12.  
  13. (let ((printer (make-special-printer 89)))
  14.   (funcall printer)) ; error, value is unbound
  15.  
  16. (let* ((value 23)
  17.        (printer (make-special-printer 89)))
  18.   (funcall printer)) ; error, value is unbound
  19.  
  20. (let* ((value 23)
  21.        (printer (make-special-printer 89)))
  22.   (declare (special value))
  23.   (funcall printer)) ; prints 23
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement