[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Scheme-reports] Technical question
On Thu, 26 May 2011, Eli Barzilay wrote:
> This is a question for WG1 (collectively):
>
> According to R5RS, is this code:
>
> (call-with-values
> (lambda ()
> (call-with-current-continuation (lambda (k) (k 1 2 3))))
> (lambda (x y z) 'ok))
>
> allowed to throw an error, or to return anything other than 'ok ?
It is /not/ allowed to throw an error in R5RS. According to R5RS:
Values might be defined as follows:
(define (values . things)
(call-with-current-continuation
(lambda (cont) (apply cont things))))
so according to R5RS your example is equivalent to
(call-with-values
(lambda ()
(values 1 2 3))
(lambda (x y z) 'ok))
which must return OK.
_______________________________________________
Scheme-reports mailing list
Scheme-reports@x
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports