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.

Ticket 510: SRFI 9 records shouldn't be universal

2013-07-07 03:20:44
WG1 - Core
alexshinn
major
cowan
wontfix
source
closed
2013-05-13 08:20:59
defect

Aaron Hsu writes:

While the WG1 made the arguable decision of altering the R6RS module syntax in favor of “system” extensions [rant: the very idea of system extensions is anathema to Scheme and the Scheme Way], we doggedly held to demonstrably poor scalability of SRFI-9 records. The limited expressivity and power of the record system are understandable, given our constraints. What I do not understand is our refusal to use a syntax both successfully demonstrated as workable and successful in R6RS as well as fundamentally more scalable and open to clean extension. This makes no sense, given the trivially easy way in which this could have been addressed. The end result of this is that any real Scheme system worth its salt will included its own, proper record system, rather than extending the syntax of the standard one.

Emmanuel Medernach writes:

I view making SRFI-9 "The One True Scheme Record" as a bad decision, I admit it is widespread and should have been standardized but as a module instead.

The intention was to make it the universal facade (because it is already widespread) rather than the universal system. Underneath it can be, and indeed already is, almost any sort of record system. It's true that the syntax is difficult and messy to extend compared to the R6RS syntax, but it is already in more widespread use than any implementation-specific record-system syntax. WG members who voted for it emphasized the importance of compatibility.

descriptionEmmanuel Medernach writes: I view making SRFI-9 "The One True Scheme Record" as a bad decision, I admit it is widespread and should have been standardized but as a module instead. The intention was to make it the universal facade (because it is already widespread) rather than the universal system. Underneath it can be, and indeed already is, almost any sort of record system.Aaron Hsu writes: While the WG1 made the arguable decision of altering the R6RS module syntax in favor of “system” extensions [rant: the very idea of system extensions is anathema to Scheme and the Scheme Way], we doggedly held to demonstrably poor scalability of SRFI-9 records. The limited expressivity and power of the record system are understandable, given our constraints. What I do not understand is our refusal to use a syntax both successfully demonstrated as workable and successful in R6RS as well as fundamentally more scalable and open to clean extension. This makes no sense, given the trivially easy way in which this could have been addressed. The end result of this is that any real Scheme system worth its salt will included its own, proper record system, rather than extending the syntax of the standard one. Emmanuel Medernach writes: I view making SRFI-9 "The One True Scheme Record" as a bad decision, I admit it is widespread and should have been standardized but as a module instead. The intention was to make it the universal facade (because it is already widespread) rather than the universal system. Underneath it can be, and indeed already is, almost any sort of record system. It's true that the syntax is difficult and messy to extend compared to the R6RS syntax, but it is already in more widespread use than any implementation-specific record-system syntax. WG members who voted for it emphasized the importance of compatibility.
resolutionwontfix
statusnewclosed

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