Now I started seeing the source of my confusion.  The phrase "annotate the
most recent continuation frame": I interpret it as modifying the most
recent continuation frame to attach the annotation.  But it's not---I only
need to keep the "current" dynamic list of marks, and when the next
continuation frame is pushed, that continuation frame remembers the tip of
the marks so that it will be restored when the frame is popped.

It might be helpful to say "_effectively_ annotate the most recent
continuation frame" to indicate that annotation doesn't really involve
immediate direct connection between continuation frames and marks.

If I understand "dynamically annotated", it is less likely that I would've
thought with-continuation-marks could modify the existing continuation
frames.  But it might be helpful to add a hint that continuation frames are
immutable.


On Sun, Oct 16, 2022 at 7:59 PM Marc Nieper-Wißkirchen <
marc.nie...@gmail.com> wrote:

> Am So., 16. Okt. 2022 um 12:35 Uhr schrieb Shiro Kawai <
> shiro.ka...@gmail.com>:
> >
> > On Sat, Oct 15, 2022 at 10:41 PM Marc Nieper-Wißkirchen <
> marc.nie...@gmail.com> wrote:
> >>
> >> Am So., 16. Okt. 2022 um 01:26 Uhr schrieb Shiro Kawai <
> shiro.ka...@gmail.com>:
> >>
> >> The sample implementation does it by not gluing the last activation
> >> record and the last set of marks to a continuation frame. This only
> >> happens, conceptually, for older frames.
> >>
> >> In the example below, CONT conceptually contains the latest frame
> >> without the continuation mark attached. Inside the evaluation of
> >> `with-continuation-marks`, the current continuation has changed,
> >> namely its latest frame has been replaced by one with a mark attached.
> >
> >
> > I see that is how reference implementation works, but is it the only
> interpretation of the spec?  Notably, the behavior of
> with-continuation-marks replacing the latest frame is derived from the
> current spec?
> >
> > Probably I was not understanding "dynamically annotated" correctly.
>  Does it mean that the annotation of the latest frame is effective within
> the dynamic extent of with-continuation-marks?
>
> Yes; this is what it is supposed to say.
>
> Continuation frames and continuations are effectively immutable.  If
> (non-pure) mutation happens, I use language like "replace", "mutate",
> or "modify".
>
> If you think it will make things more transparent, I will explicitly
> add a sentence stating the immutability.
>
> Marc
>

Reply via email to