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 #514
cc
changetime
2013-07-07 03:20:44
component
WG1 - Core
description
Aaron Hsu writes:
While I understand and support to some degree the change of module syntax to favor a more extensible syntax, the way in which this was extended bothers me to some degree. This would include the `include-`{`ci`,`library-declarations`} forms, which feel ugly and unnecessary. Indeed, they are necessary largely because of the limitations on the way that we have treated modules, and I would have preferred to make modules extensible in the Scheme way, rather than the way that we have, but what we have is a compromise.
id
514
keywords
milestone
owner
alexshinn
priority
major
reporter
cowan
resolution
wontfix
severity
status
closed
summary
New module syntax is ugly and unnecessary
time
2013-05-13 08:37:34
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
2
raw-time
1373142044410382
ticket
514
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
514
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
514
time
2013-07-07 03:20:44
Change at time 2013-05-21 01:25:01
author
cowan
field
comment
newvalue
The case for `include` variants is that they promote modularity, specifically modularity between code bodies and library declarations, the former often being more portable than the latter. They could have been subsumed by a low-level macro facility, it's true.
Static library systems like those of R6RS and the draft are intentionally weak in the interest of making them easy to implement and use, thus promoting interchange. The draft's variant of R6RS lacks only library versioning (see #491) and explicit phasing information (which has a strange status in R6RS: it is not portable to omit it, but implementations are free to ignore it). I agree that what we have is a compromise, and compromises by nature tend to satisfy nobody; the best hope is that all can live with them.
oldvalue
1
raw-time
1369074301254009
ticket
514
time
2013-05-21 01:25:01