[R6RS] Unspecific value
Thu Nov 25 04:07:42 EST 2004
This came up before, I think, but never made it into the discussion
I propose that we give the value (or rather, the procedure producing
the value) of (if #f #f) a name. R5RS has this to say in Section 7.3:
"The expression (if #f #f) is used to obtain an unspecific value."
Consequently, I suggest calling the procedure UNSPECIFIC or
UNSPECIFIC-VALUE. (Scheme 48 calls it UNSPECIFIC.)
(I find the name VOID chosen by some implementations misleading---it
seems to allude to the construct in C, where it means something
different, namely "zero values" rather than "one unspecific value.")
- Should the procedure be nullary or n-ary? (MzScheme's VOID
procedure is n-ary and ignores all of it's arguments. Chez's and
Gambit-C's VOID and Scheme 48's UNSPECIFIC are nullary.)
- Should there be a literal?
- Should R6RS specify how DISPLAY treats this value?
(If we make "procedures with no return value" just return zero return
values, as suggested previously, the usefulness of this diminishes,
but it would still be useful, I believe.)
Cheers =8-} Mike
Friede, V?lkerverst?ndigung und ?berhaupt blabla
More information about the R6RS