[r6rs-discuss] [Formal] Inappropriate number of values should be defined

Marcin 'Qrczak' Kowalczyk qrczak at knm.org.pl
Mon Jan 22 10:09:46 EST 2007


John Cowan <cowan at ccil.org> writes:

> 	If an expression supplies too many values to its continuation,
> 	the excess values are discarded.  If it supplies too few values,
> 	the deficient values are set to the unspecified value.
>
> In particular, this paves the way to eliminating "the unspecified value"
> in favor of simply returning zero values.

I would prefer to leave this undefined (detected as an error in safe mode)
*and* replace most uses of the unspecified value with zero values.
This allows to detect dubious code like:
   (let ((x (if y (z))))
     ...)

-- 
   __("<         Marcin Kowalczyk
   \__/       qrczak at knm.org.pl
    ^^     http://qrnik.knm.org.pl/~qrczak/



More information about the r6rs-discuss mailing list