Re: [Scheme-reports] Formal Comment: clarify the semantics of the dynamic features
Richard Kelsey 29 Jun 2012 19:38 UTC
Date: Fri, 29 Jun 2012 11:24:36 -0700
From: Alex Shinn <alexshinn@gmail.com>
> Richard Kelsey scripsit:
>
> Date: Thu, 28 Jun 2012 17:55:54 -0400
> From: John Cowan <cowan@mercury.ccil.org>
>
> The report should describe the semantics of dynamic variables, not one
> particular implementation.
The report describes the semantics in terms of dynamic extent,
so the analogy to dynamic-wind seems appropriate.
No, the description of dynamic bindings doesn't mention dynamic
extent. The current text uses the phrases "during the evaluation of
the body" and "evaluated in a dynamic environment in which ..." which
in the presence of call/cc and dynamic-wind, and in the absence of a
definition of dynamic environments, are far from clear.
We do need to be careful here, and the WG has not yet had
time to fully review the non-call/cc-based dynamic-binding
research pointed out by Oleg.
Can you give me a pointer to this?
> Editorial tickets #427 and #428 created. Ballot ticket #429 for new
> formal semantics created. If nobody steps up to do this and review it
> before the last ballot, it will be closed.
>
> If the WG makes changes to the language that require changes to the
> formal semantics, then they need to change the formal semantics. That
> seems like part of the job.
The formal semantics only covered a small subset of the
language to begin with. The change in question is equivalent
to adding a formal semantics for dynamic-wind, which was
already missing from R5RS. I agree, of course, that we should
fix this, or consider using (a subset of) the operational semantics
from R6RS (which again is a subset of the language but at least
has dynamic-wind).
My comment was meant to be a more general response to John Cowan's
planning to close a ticket if there was no one on the committee
willing to work on the semantics. I was actually thinking of eqv?,
where the report and the formal semantics no longer agree. In that
case something does need to be done.
For dynamic-wind and parameterize I agree that adding them to the
semantics is desirable but isn't necessary.
I do not agree that this would be equivalent to adding a formal
semantics for dynamic-wind, for a couple of reasons. One is that
dynamic bindings are used by the report itself, unlike dynamic-wind.
The other is that having both dynamic-wind and parameterize in the
language makes having a formal semantics for them more important than
if only one or the other were present.
-Richard Kelsey
_______________________________________________
Scheme-reports mailing list
Scheme-reports@scheme-reports.org
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports