[r6rs-discuss] "Unspecified"
David Cuthbert wrote:
> Anton van Straaten wrote:
>
>> When you write (if b x) in a program, you haven't specified what
>> should be returned if b is false. The value of the expression in that
>> situation is unspecified.
>
>
> This sentence is confusing. The value of the expression is specified by
> the standard. A conforming implementation cannot return #f in this
> situation (or null, or "", or ...).
You're right, and I assume that this is (at least in part) what Robby
responded to, also. I should have written something more along the
lines that the omission of the <alternate> clause means that a value
which the programmer has the option to specify, has been left unspecified.
> > The perpetrator of the unspecified behavior
>
>> is not the R6RS draft, but rather the program(mer). The R6RS draft
>> simply specifies that in such situations, implementations must return
>> a value which denotes that no value was specified.
>
>
> Reading this makes me biased for changing the terminology. Many readers
> will subconciously parse "unspecified" as "implementation-defined"; it
> will take a fair amount of mental gymnastics (for me, at least) to parse
> it as "the value when no value was specified."
In the current draft, "unspecified" used on its own *does* mean
"implementation-defined". The specific phrase "the unspecified value",
defined in section 5.4, refers to the value which denotes that no value
was specified.
Anton
Received on Fri Sep 22 2006 - 00:43:23 UTC
This archive was generated by hypermail 2.3.0
: Wed Oct 23 2024 - 09:15:01 UTC