chicken-janitors
[Top][All Lists]
Advanced

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

[Chicken-janitors] #803: setters like set-cdr! don't invalidate type inf


From: Chicken Trac
Subject: [Chicken-janitors] #803: setters like set-cdr! don't invalidate type information
Date: Sat, 17 Mar 2012 20:40:29 -0000

#803: setters like set-cdr! don't invalidate type information
----------------------------------------+-----------------------------------
 Reporter:  sjamaan                     |       Owner:       
     Type:  defect                      |      Status:  new  
 Priority:  major                       |   Milestone:  4.8.0
Component:  compiler                    |     Version:  4.7.x
 Keywords:  scrutinizer, optimizations  |  
----------------------------------------+-----------------------------------
 The following program, when compiled with specialization, prints {{#t}}.
 It prints #f in all other cases:

 {{{
 #!scm
 (let ((x (list 'a)))
   (set-cdr! x x)
   (print (list? x)))
 }}}

 If possible, set-car! and set-cdr! should have roughly the same effect as
 set! (and so should vector-set! but I couldn't reproduce a similar error
 with that, so I guess that's already taken care of, somehow)

 I'll look into it in more detail but wanted to create a ticket so we don't
 forget about this.

-- 
Ticket URL: <http://bugs.call-cc.org/ticket/803>
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]