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

cc


    

changetime

2013-07-07 03:20:44

component

WG1 - Core

description

Aaron Hsu writes:

  The WG1, by this standard, would seem to have no conception of user extensibility. Indeed, IMO, the entire point of Scheme is that the user is as capable of language design as the systems implementer, and that, indeed, there is no distinction between the two but in name. The idea of their being system extensions and user extensions is a fundamentally anti-Scheme way of thinking. The Scheme language itself is supposed to allow the user to extend the system in powerful ways, and Scheme has been moving in this direction more and more. Real Scheme systems exist that allow the user to create their own workable library systems extensions, or to really do conditional expand-time expansion without requiring system extensions for feature symbols. All of this can be done programmatically and using no more than the constructs provided by R6RS.

id

517

keywords


    

milestone


    

owner

alexshinn

priority

major

reporter

cowan

resolution

wontfix

severity


    

status

closed

summary

The draft doesn't support user extensibility

time

2013-05-13 09:05: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

517

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

517

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

517

time

2013-07-07 03:20:44

Change at time 2013-05-13 09:09:54

author

cowan

field

comment

newvalue

First of all, it is a gross exaggeration to say there is no user extensibility.  Scheme's combination of procedural and syntactic abstraction provides more extensibility than almost any other language.  (Common Lisp does that too, but its style of doing so is subtly but crucially different.)

The module system is the largest mandatory extension to R5RS.  Keeping it simple and static rather than allowing greater generality seemed to the WG to be the appropriate tradeoff between flexibility and ease of use and implementation.  Not everything in Scheme is designed for maximal flexibility.  It's true that R6RS provides more tools than R7RS-small, but at the expense of not being a small language.  Providing a modest fixed point in the form of a static library system is what keeps the language small.

oldvalue

1

raw-time

1368410994361270

ticket

517

time

2013-05-13 09:09:54