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 #535

cc


    

changetime

2013-07-07 03:20:44

component

WG1 - Core

description

Michael Montague writes:

  I believe that a library should have at most one `begin` and it should have the semantics of a body (though no expressions are required). This would make the semantics of library bodies clear and make R7RS libraries much closer to R6RS libraries, with little loss in expressiveness.

The question is, what gain is to counterbalance that loss?  It's easy for users who agree with this to make sure their libraries have at most one `begin`, and likewise to reformat existing libraries if they feel strongly about it.  The benefit, then, must be to implementers -- but what benefit is that?  The `define-library` form must be read as a whole, and the first step will normally be to concatenate the `begin` declarations.

In addition, the restriction in the draft that imported identifiers cannot appear in a library textually before the `import` declaration that introduces them (see #353) means that it's possible to construct a library incrementally, adding new `import` and `begin` declarations as you go.  This is a convenience for programs that create libraries.

Without a definite improvement visible from the restriction to a single `begin` declaration, this proposal would indeed be one of those "weaknesses and restrictions" that the Scheme standards denounce.

id

535

keywords


    

milestone


    

owner

alexshinn

priority

major

reporter

cowan

resolution

wontfix

severity


    

status

closed

summary

Libraries should have at most one begin

time

2013-05-20 00:00:29

type

defect

Changes

Change at time 2013-07-07 03:20:44

author

cowan

field

comment

newvalue

The WG decided by unanimous consent to take no action on this ticket.

oldvalue

1

raw-time

1373142044410382

ticket

535

time

2013-07-07 03:20:44

Change at time 2013-07-07 03:20:44

author

cowan

field

resolution

newvalue

wontfix

oldvalue


    

raw-time

1373142044410382

ticket

535

time

2013-07-07 03:20:44

Change at time 2013-07-07 03:20:44

author

cowan

field

status

newvalue

closed

oldvalue

new

raw-time

1373142044410382

ticket

535

time

2013-07-07 03:20:44