[r6rs-discuss] "Unspecified"
On Thu, 21 Sep 2006, Anton van Straaten wrote:
> 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.
But a value /is/ specified by the program at that point according to r6rs
(namely the value #<unspecified>).
If I write my program so that it
intentionally returns #<unspecified> if 5 is odd, and #t if 5 is not odd,
does this mean that the output of my program does not specify that 5 is
odd?
In fact, the whole point of "unspecified" in r5rs was that I could *not* use
the program
(if (even? 5)
#t))
to determine whether 5 was odd, since the value of this expression, being
unspecified, could in fact have been #t. In r6rs I can tell whether it is odd
from the output, which seems to contradict your assertion that "no value was
specified by the program".
I'm smelling a liar's paradox. If one wants to avoid being circular,
one could say that:
"the *r6rs* expression in question returns a (specified) value which denotes
that no return value was specified in *r5rs* for the expression."
So maybe #<unspecified-by-r5rs> would be a more accurate name for it ;-)
This would be a weird way to write a language specification, so I would just
call it something else instead.
Cheers
Andre
Received on Fri Sep 22 2006 - 07:46:27 UTC
This archive was generated by hypermail 2.3.0
: Wed Oct 23 2024 - 09:15:01 UTC