[r6rs-discuss] "Unspecified"

Jonathan A Rees jar at mumble.net
Thu Sep 21 18:08:45 EDT 2006


On Sep 20, 2006, at 6:12 PM, Jason Orendorff wrote:

> Does anyone else feel a little weird about the phrase "the  
> unspecified value"?

I do. This feature of the R6RS draft is an oxymoron and offensive to  
common sense.

In order for something to be unspecified, someone or something (in  
this case, the report or its authors) has to fail to specify what it  
is. That is just what 'unspecified' means, and we don't have any  
choice about it. If you say that the value of an expression is 'the  
unspecified value', you have specified what it is - pure double-talk.

I think what is intended is that there is some particular value V  
(which needs a name so that we can talk about it) that will be  
delivered in a number of special situations. The name used for V in  
the report needs to be something that is sensible - in particular,  
the name must not be "unspecified".

V is meant to be a particular value with a number of interesting  
properties, one of which is that the report's editors plead with  
programmers not to find it interesting. Pick a name for it, any name  
that is not wrong as the current one is. Descriptive would be nice,  
but not-wrong is more important than descriptive. Perhaps experiment  
with a coinage, like "wart" or "mascot" or "dud" or "dunce" or  
"anomoly" or "roswell" or "queen of spades" or "joker" ("the result  
of the set! expression is the joker" etc.).

It's incorrect to tell people (page 20) that V is meaningless. As  
soon as you specify anything about it, such as that it is not a  
number or that you can get your hands on it in multiple particular  
ways, it has meaning.

Whether you *want* to specify anything about the value delivered in  
all these situations is not at all obvious. I can think of several  
possible reasons (none of which I agree with) but I don't see any  
rationale for this incompatible change (or any other, for that  
matter) spelled out anywhere; what did I miss?

(And don't point to my own installation of #{unspecific} into Scheme  
48 as contradicting what I say - the name is 'unspecific' instead of  
'unspecified', it was intended to be undocumented (unspecified!), and  
it was meant to be tongue-in-cheek, not binding.)

Jonathan




More information about the r6rs-discuss mailing list