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