This site is a static rendering of the Trac instance that was used by R7RS-WG1 for its work on R7RS-small (PDF), which was ratified in 2013. For more information, see Home.
Source for ticket #426
cc
changetime
2012-10-12 10:15:25
component
WG1 - Core
description
Submitter's name: Richard Kelsey
Submitter's email: kelsey at s48.org
Relevant draft: r7rs draft 6
Type: clarification
Priority: major
Relevant section of draft: Derived expressions, control features, exceptions
Summary: The descriptions of the dynamic features need to be clearer and more consistent.
There are now three separate features that relate to the dynamic context: `dynamic-wind`, dynamic bindings, and exception handling. These need to be defined in some unified way and their interaction described.
For example, dynamic bindings are described using the term 'dynamic environment' which is itself not defined. There is a paragraph on how dynamic bindings interact with threads, which are not mentioned anywhere else in the report, but nothing is said about how dynamic bindings interact with `call/cc` or `dynamic-wind`.
Suggestion:
* Add a new section 3.6 that includes the definition of 'dynamic extent' currently in section 6.10 and a definition of 'dynamic environment'. Mention that the dynamic environment is captured by `call/cc`. Say something about threads, if necessary.
* Remove the paragraph about threads from the section on dynamic bindings.
* In the description of `dynamic-wind`, say that the dynamic environment that is in place when the ''before'' and ''after'' thunks are called is the the dynamic environment of the call to `dynamic-wind`.
* 6.11 paragraph 2; change "The system implicitly maintains a current exception handler" to "The system implicitly maintains a current exception handler in the dynamic environment".
* Description of `with-exception-handler`: change "''Handler'' is installed as the current exception handler for the dynamic extent (as determined by `dynamic-wind`) of the invocation of ''thunk''" to "''Handler'' is installed as the current exception handler in the dynamic environment used for the invocation of ''thunk''".
* The description of `raise `talks about the dynamic extent of continuations, but it is calls that have a dynamic extent, not continuations. Rephrase it in terms of continuations and dynamic environments.
* The description of `raise-continuable` also needs to be rephrased in terms of continuations and dynamic environments.
* Ideally, the dynamic environment and `dynamic-wind` would be included in the formal semantics.
id
426
keywords
milestone
owner
cowan
priority
major
reporter
cowan
resolution
fixed
severity
status
closed
summary
Formal Comment: The descriptions of the dynamic features need to be clearer and more consistent
time
2012-06-29 04:39:47
type
defect
Changes
Change at time 2012-10-12 10:15:25
author
cowan
field
comment
newvalue
Included detail changes, but no new section.
oldvalue
2
raw-time
1350011725370785
ticket
426
time
2012-10-12 10:15:25
Change at time 2012-10-12 10:15:25
author
cowan
field
resolution
newvalue
fixed
oldvalue
raw-time
1350011725370785
ticket
426
time
2012-10-12 10:15:25
Change at time 2012-10-12 10:15:25
author
cowan
field
status
newvalue
closed
oldvalue
accepted
raw-time
1350011725370785
ticket
426
time
2012-10-12 10:15:25
Change at time 2012-07-02 09:46:11
author
cowan
field
comment
newvalue
oldvalue
1
raw-time
1341197171716044
ticket
426
time
2012-07-02 09:46:11
Change at time 2012-07-02 09:46:11
author
cowan
field
owner
newvalue
cowan
oldvalue
alexshinn
raw-time
1341197171716044
ticket
426
time
2012-07-02 09:46:11
Change at time 2012-07-02 09:46:11
author
cowan
field
status
newvalue
accepted
oldvalue
new
raw-time
1341197171716044
ticket
426
time
2012-07-02 09:46:11