[r6rs-discuss] "Unspecified"
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.
Received on Thu Sep 21 2006 - 23:01:02 UTC
This archive was generated by hypermail 2.3.0
: Wed Oct 23 2024 - 09:15:01 UTC