[r6rs-discuss] "Unspecified"

Anton van Straaten anton at appsolutions.com
Thu Sep 21 23:01:02 EDT 2006


Robby Findler wrote:
> Anton, you seem to be suggesting that the programmer is specifying  the 
> meaning of a phrase in the programming language, but that's  *your* job! :)

The R6RS draft does specify the meaning of such phrases.  (Although 
we're still waiting on the formal semantics which will spell it out. ;)

Let me use the R5RS language, which might help highlight the terminology 
issues here:

For example, in 4.1.5 (Conditionals), R5RS says: "If <test> yields a 
false value and no <alternate> is specified..."

Whether an <alternate> is "specified" is up to the programmer, and is a 
property of certain phrases in a program.  If an alternate is not 
"specified", we can say that the <alternate> is "unspecified".  This 
language applies to phrases in a program, and does not in itself specify 
the meaning of such phrases.

One job of the R6RS is to assign meaning to such phrases.  In this 
example, it does this by specifying that when a program omits the 
<alternate> term, then the phrase in question returns a value which 
denotes that no value was specified by the program at that point.

Note that in the previous sentence, the word "specifying" was used to 
describe the assignment of meaning to phrases by the R6RS, whereas "no 
value was specified" was used to describe the effect of an omission in 
the program, presumably perpetrated by the programmer[*].

These uses of variants of the word "specify" at different levels are 
certainly potentially confusing, and as I said, should be clarified. 
Perhaps the way to do that is to use some phrase other than "the 
unspecified value" to describe the value which denotes that a value was 
not specified.

However, allegations that these usages are *wrong* in some sense seem to 
result from a misunderstanding of the sense in which the terms are being 
used.

Anton

[*] Assuming one believes that the existence of a program implies the 
existence of a programmer -- a version of the watchmaker argument.



More information about the r6rs-discuss mailing list