[R6RS] Unspecific value

Michael Sperber sperber
Thu Nov 25 04:07:42 EST 2004


This came up before, I think, but never made it into the discussion
ring:

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.")

Issues:

- 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 mailing list