The following illustrates a use of a stack frame (activation record) that survives the invocation for which it was created. gc returns a pair of functions, the first of which increments a counter and the second of which reads it. The counter is called x and each function pair shares its own x that lives in the persistent frame that was created as the pair creator was invoked.
> (define (gc) (let ((x 0))(cons (lambda () (set! x (+ x 1))) (lambda () x)))) > (define cp1 (gc)) > (define cp2 (gc)) > (define i1 (car cp1)) > (define i2 (car cp2)) > (define r1 (cdr cp1)) > (define r2 (cdr cp2)) > (i1) > (i1) > (r2) 0 > (r1) 2 > (i2) > (r2) 1 >