[r6rs-discuss] "Unspecified"

From: Felix <pfr6rs>
Date: Fri Oct 6 10:24:13 2006

Mike-

On Oct 6, 2006, at 9:44 AM, Michael Sperber wrote:

> William D Clinger <will_at_ccs.neu.edu> writes:
>
>> ...
>> values in fact, but that partial solution does not
>> solve the problem for other R5RS-compatible code,
>> e.g.
>>
>> (let* ((v (f ...))
>> (ignored (vector-set! v i ...))
>> (v2 (g v ...)))
>> ...)
>>
>> Another issue, if there is going to be a specific
>> unspecified value, is the name of the procedure
>> that returns it.
>
> One alternative to deal with this would be to truly have (unspecified)
> return an unspecified number of unspecified values (in the sense of
> "the report doesn't tell you how many and what they are) with the
> constraint that (unspecified) must be able to return to a continuation
> that accepts a single value. This would keep code such as the above
> working, and make the name more appropriate.

Why would changes to the specification of the procedure named
"unspecified" have anything to do with the behavior of the procedure
named "vector-set!" ?

Or are you implying that R6RS would also be changed so that
everywhere we currently see "the value returned by foo is the
unspeciifed value" we would instead see something to the effect of
"the values returned by foo are indistinguishable from those that
would be returned by an invocation of the procedure named unspecified
to the same continuation" ?

(And if that is the correct inference on my part, then why would this
alternative make the people arguing for vector-set! to return zero
values happy?)

-Felix

p.s. note that I am not arguing against your suggestion. I actually
was tempted to respond with a "+1" to the idea of making the
procedure named "unspecified" be a producer of an unspecified number
or unspecified values (which hopefully would imply the removal of the
predicate named "unspecified?"). But I decided that such a response
would imply that I agreed with your statement that this would keep
the code above working. I cannot consider agreeing with that
statement until I understand the reasoning behind it.
Received on Fri Oct 06 2006 - 10:24:04 UTC

This archive was generated by hypermail 2.3.0 : Wed Oct 23 2024 - 09:15:01 UTC