Re: Does continuation marks take a snapshot?
Marc Nieper-WiÃkirchen 17 Oct 2022 05:59 UTC
Am So., 16. Okt. 2022 um 12:35 Uhr schrieb Shiro Kawai <xxxxxx@gmail.com>:
>
> On Sat, Oct 15, 2022 at 10:41 PM Marc Nieper-Wißkirchen <xxxxxx@gmail.com> wrote:
>>
>> Am So., 16. Okt. 2022 um 01:26 Uhr schrieb Shiro Kawai <xxxxxx@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