Я новичок в Scheme и пытаюсь понять, как определенные значения, появляющиеся в функции, могут сохраняться при многократном использовании. следующий счетчик:
(define count
(let ((next 0))
(lambda ()
(let ((v next))
(set! next (+ next 1))
v))))
Что я не могу понять (и нигде не нашел объяснения), так это почему next
не сбрасывается в 0 каждый раз, когда count
используется .