[r6rs-discuss] [Formal] Inappropriate number of values should be	defined
 
John Cowan wrote:
> Marcin 'Qrczak' Kowalczyk scripsit:
> 
>> 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))))
>>      ...)
> 
> But then you can no longer write things like:
> 
>     (begin
>       (if (debug-mode?) (display "About to call foo\n"))
>       (foo))
> 
> because when debug-mode? returns false, the if will return zero values
> to the continuation created by begin.
But `begin' allows that expression to evaluate to zero or more values.
David
Received on Mon Jan 22 2007 - 11:28:21 UTC
This archive was generated by hypermail 2.3.0
: Wed Oct 23 2024 - 09:15:01 UTC