Am Fr., 28. Okt. 2022 um 22:55 Uhr schrieb Shiro Kawai <shiro.ka...@gmail.com>:
>
> I assume the same applies to the parameterization, that is, the following 
> should run in a constant space.  Correct?
>
> (define p (make-parameter 0))
> (let loop ()
>    (parameterize ((p 1))
>        (loop)))

Yes, this is the expectation (and a reason why parameterize possesses
a tail-context guarantee.  The idea is that a parameter is
conceptually the same as an implicit argument.  An a loop like

(let loop ((p 0))
  (loop 1))

also runs in bounded space.

I should check whether the sample implementation is correct in this regard.

Reply via email to