Тебе не нужны продолжения для этого.Вот классический пример:
(define counter
(let ([n 0])
(lambda ()
(set! n (add1 n))
n)))
(list (counter) (counter) (counter))
И вот очевидное обобщение, чтобы сделать его более интересным:
(define (make-counter n)
(lambda ()
(set! n (add1 n))
n))
(define a (make-counter 0))
(define b (make-counter 10))
(list (a) (a) (a) (b) (b) (a) (a))
А вот первый фрагмент кода, переведенный в JS:
var counter = (function() {
var n = 0;
return (function() {
n++;
return n;
});
})();