tail call and bounded space requirement Shiro Kawai (26 Oct 2022 20:22 UTC)
Re: tail call and bounded space requirement Marc Nieper-Wißkirchen (26 Oct 2022 20:48 UTC)
Re: tail call and bounded space requirement Shiro Kawai (26 Oct 2022 21:43 UTC)
Re: tail call and bounded space requirement Marc Nieper-Wißkirchen (27 Oct 2022 05:41 UTC)
Re: tail call and bounded space requirement Shiro Kawai (28 Oct 2022 20:55 UTC)
Re: tail call and bounded space requirement Marc Nieper-Wißkirchen (28 Oct 2022 21:02 UTC)
Re: tail call and bounded space requirement Shiro Kawai (28 Oct 2022 23:44 UTC)

Re: tail call and bounded space requirement Marc Nieper-Wißkirchen 26 Oct 2022 20:48 UTC

Yes, indeed. The inner `with-continuation-mark' just replaces
(non-destructively) the value of the mark "a".

The tail-call guarantee is essential for several use cases of
continuation marks.  One is debugging; you can attach debugging
information to frames, but you want to retain proper tail calls while
doing so.

Am Mi., 26. Okt. 2022 um 22:22 Uhr schrieb Shiro Kawai <xxxxxx@gmail.com>:
>
> Quick question.  The following code is expected to run in a bounded space, correct?
>
> (let loop ()
>    (with-continuation-mark 'a 'b
>        (with-continuation-mark 'a 'c
>            (loop))))
>
>