On 2010-12-23, at 17:53, John Cowan wrote:
> In both WG1 and WG2, all modules are optional; the decision to put a
> module in WG1 represents a judgment on its wide utility, or in some cases
> a Steering Committee mandate -- we can make R4RS/IEEE features optional,
> but we can't leave them out altogether without crossing a very high bar.

I have considerable reservations about making modules optional. This is a 
license to create incompatibility. Suppose that there are 10 optional modules; 
then there is a potential of 2^10 = 1024 different combinations of modules an 
individual implementation might offer (ignoring module dependencies). Some 
implementers might choose not to provide a given module because they have an 
alternative they consider better. This in turn will put paid to portability, 
not only of software, but also of teaching materials about the language. 

Since we don't have any Scheme Police available to track down miscreant 
implementers, and since I think a good standard should convince people to 
follow it because of its quality, I'd like to suggest the following. 

1. Consider making mandatory as many of the core modules as possible (as 
mandatory as anything in Scheme can be). 
2. Place those modules that are not mandatory into a second `Optional 
Extensions' section in the report. This will help those people concerned about 
portability avoid them wherever possible. 
3. For those modules for which an efficient portable implementation in Scheme 
is possible, take them out of the WGn report and move them to a library 
document of the form I described in an earlier email today. Such a library can 
then run with any WGn-compliant implementation. 

When I review the WG1 draft, one of my test cases will be `can I write a 
portable WG1 Scheme program to play blackjack, without needing peculiar 
circumlocutions' (I actually have about a dozen test cases like that in my 
mind, from years of teaching introductory CS courses). Everything I need for a 
task like that should be in every implementation that claims to comply with the 
report. People who publish teaching materials for Scheme ought to be able to 
make them work without 50 (above, I said 1024!) different editions for 
different implementations. 

-- vincent
_______________________________________________
Scheme-reports mailing list
[email protected]
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports

Reply via email to