Hi Marc,
Cool, wonderful!
Yeah for any situation like
(define (a)
; Teleport from hr
(b))
(define (b) (c))
(define (c)
; Teleport to hr
#!void)
, just totally great.
Your subsequent email re. "(make-timeout-handler 5 (lambda () …))))" usecase and "I think that is a better API." comment I believe I fully agree with, also that's neat, it illustrates how this is useful on the runtime-interacts-with-userland level.
Thinking back, all my parameter objects until now have been global variables. This also means that, for a given sourcecode file, the number of parameter objects has been pre-specified. In this kind of usage situation, would any optimization trick be possible? E.g. could the "current input port or one of the last 3 accessed parameters" set be extended with a copy of each of that fixed set of toplevel parameter objects and so accordingly their parameterization and access be O(1) always.
(This email was primarily to learn what kind of time characteristics parameterized objects have, given how great they are.)
Adam