On 12/15/2011 12:39 PM, Zayr Okale wrote:

Unfortunately, this scenario doesn't apply to Racket. And this is exactly what 
prompted my question. Since one of the reasons behind multiple return values 
is, as David Van
Horn pointed out, symmetry with multiple input values (function arguments), 
then why optional input values are allowed, but optional output values aren't?

But they are supported!

(define-syntax first-value-only
  (syntax-rules ()
    ((_ e)
     (call-with-values (λ () e)
                       (λ (x . rest) x)))))

(printf "~a~%" (first-value-only (values 1 2 3)))

In fact, just like optional input values, they are supported but not the 
default.

Stephan
_________________________________________________
 For list-related administrative tasks:
 http://lists.racket-lang.org/listinfo/users

Reply via email to