[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Scheme-reports] Formal Comment: clarify the semantics of the dynamic features

   Date: Fri, 29 Jun 2012 11:24:36 -0700
   From: Alex Shinn <alexshinn@x>

   > Richard Kelsey scripsit:
   >   Date: Thu, 28 Jun 2012 17:55:54 -0400
   >   From: John Cowan <cowan@x>
   > 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