On Mon, 2009-03-23 at 19:34 -0400, David Van Horn wrote:
> Thomas Lord wrote:

> > "Unspecified" seems like the accurate spec.
> 
> (string->number string)    procedure
> (string->number string radix)    procedure
> 
> It is clear that the intention was that string->number could only be 
> applied either to a string or to string and an exact integer that is 
> either 2, 8, 10, or 16---both from the text of the report and from the 
> recent emails by the editors.


It is not hard to imagine generalizations.
One can easily imagine (quite serious, not
fake example) extensions to "string->number"
to support additional types and numbers of 
arguments.

It is hard to imagine a set of generalizations
that everyone would agree every implementation 
ought to have.

So, how to handle these "edge cases"?

An exception?  Return #f?  Something else (say,
perhaps, making the function a generic in the CL
sense)?

Who is to say?  

Scheme is thought to be, in some sense a gem crystal
but I think as a community we don't all agree yet
about its lattice structure and hence macroscopic
shape.  We're "blind" to it, each groping its surface
and sharing guesses - like the old "blind men and 
elephant" jokes.

That's what "unspecified" is for.


> 
> If this is unspecified, the word "must" would mean very little in the 
> report.


Wouldn't it mean something like "must if the
behavior of the program is expected to be defined
by this report"?   That seems like saying quite 
a lot, even by my relatively loquacious standards.


> 
> An erratum clarifying the note seems appropriate.
> 


Only in a very sad way, to me.

-t




> David
> 


_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss

Reply via email to