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