I\'m now studying Emacs Lisp from the reference manual and Common Lisp from a LISP Book.
from the Common Lisp book
>> (setf power-of-two (let
another solution using Emacs' unintern symbol:
ELISP> (setf power-of-two (let ((p (make-symbol "previous-power-of-two"))) (set p 1) (list 'lambda '() (list 'setf p (list '* p 2))))) ELISP> (funcall power-of-two) 2 ELISP> (funcall power-of-two) 4 ELISP> (funcall power-of-two) 8