Neil Jerram <[EMAIL PROTECTED]> writes:

> Is this a good fix for r5rs_pitfall 1.1?

scm_copy_tree is too much, since it makes the following code fail:

   (let ((a '(1 2 3))) (letrec ((x a) (y a)) (eq? x y)))

We should not copy the values themselves, just the storage cells;
thus, scm_list_copy is the right thing here.

But should we make that change?  I am not sure.  It causes some
significant run-time overhead for an obscure benefit.  For now I'll
just put in some comments in eval.c and r5rs_pitfall.test.

-- 
GPG: D5D4E405 - 2F9B BCCC 8527 692A 04E3  331E FAF8 226A D5D4 E405


_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-devel

Reply via email to