chicken-janitors
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Chicken-janitors] #1390: The behavior between `values` and `call/cc` is


From: Chicken Trac
Subject: [Chicken-janitors] #1390: The behavior between `values` and `call/cc` is inconsistent.
Date: Wed, 02 Aug 2017 09:35:15 -0000

#1390: The behavior between `values` and `call/cc` is inconsistent.
----------------------+--------------------------------
 Reporter:  kooda     |                 Owner:
     Type:  defect    |                Status:  new
 Priority:  minor     |             Milestone:  someday
Component:  compiler  |               Version:  4.12.0
 Keywords:            |  Estimated difficulty:
----------------------+--------------------------------
 With regard to multiple return values, `values` and `call/cc` behave
 differently.

 I think the `call/cc` case should not error out.

 Also, the error message is a bit unhelpful (sometimes the call to call/cc
 is not known from the user, for example `thread-join!` uses it) and in
 some cases no call trace is available.

 {{{
 (print (values 1 2 3)) ;; no problem

 (define (stuff)
   (call/cc
     (lambda (return)
       (return 1 2 3))))

 (print (stuff)) ;; Error: bad argument count - received 3 but expected 1
 }}}

--
Ticket URL: <https://bugs.call-cc.org/ticket/1390>
CHICKEN Scheme <https://www.call-cc.org/>
CHICKEN Scheme is a compiler for the Scheme programming language.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]