chicken-janitors
[Top][All Lists]
Advanced

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

[Chicken-janitors] #1080: condition-case expands into two else clauses


From: Chicken Trac
Subject: [Chicken-janitors] #1080: condition-case expands into two else clauses
Date: Tue, 10 Dec 2013 14:50:13 -0000

#1080: condition-case expands into two else clauses
--------------------------------------------+-------------------------------
 Reporter:  ckeen                           |       Owner:       
     Type:  defect                          |      Status:  new  
 Priority:  major                           |   Milestone:  4.9.0
Component:  unknown                         |     Version:  4.8.x
 Keywords:  syntax condition-case compiler  |  
--------------------------------------------+-------------------------------
 When expanding the following you can see the second else clause. The
 compiler in current master warns about this:

 {{{
 #;2> ,x (condition-case 'something ((exn some thing) 'foo) (exn () 'bar))
 ((call-with-current-continuation
    (##core#lambda
      (k)
      (with-exception-handler
        (##core#lambda
          (exvar)
          (k (##core#lambda
               ()
               (##core#let
                 ((kvar (and (##sys#structure? exvar (##core#quote
 condition))
                             (##sys#slot exvar 1))))
                 (cond ((and kvar
                             (memv (##core#quote exn) kvar)
                             (memv (##core#quote some) kvar)
                             (memv (##core#quote thing) kvar))
                        (##core#let () 'foo))
                       (else (##core#let ((exn exvar)) 'bar))
                       (else (##sys#signal exvar)))))))
        (##core#lambda
          ()
          (##sys#call-with-values
            (##core#lambda () 'something)
            (##core#lambda
              args
              (k (##core#lambda () (##sys#apply ##sys#values args))))))))))
 }}}

-- 
Ticket URL: <http://bugs.call-cc.org/ticket/1080>
Chicken Scheme <http://www.call-with-current-continuation.org/>
Chicken Scheme is a compiler for the Scheme programming language.

reply via email to

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