Cyclic records cannot be printed

Bug #174594 reported by Joe Near on 2007-12-07
2
Affects Status Importance Assigned to Milestone
Ikarus Scheme
Low
Abdulaziz Ghuloum

Bug Description

> (define-record-type t (fields (mutable x)))
> (define x (make-t 1))
> (t-x-set! x x)
> (printf "~s\n" x)

Causes an infinite loop, while the following works just fine:

> (define x (cons 'a 'b))
> (set-car! x x)
> (printf "~s\n" x)
#0=(#0# . b)

Do you plan to support something like this with records?

Abdulaziz Ghuloum (aghuloum) wrote :

Weird. This works here:

Ikarus Scheme version 0.0.2patched+ (revision 1193, build 2007-12-07)
Copyright (c) 2006-2007 Abdulaziz Ghuloum

> (define-record-type t (fields (mutable x)))
> (define x (make-t 1))
> (t-x-set! x x)
> (printf "~s\n" x)
#0=#[t #0#]
> x
#0=#[t #0#]
> (display x)
#0=#[t #0#]

Changed in ikarus:
assignee: nobody → aghuloum
importance: Undecided → Low
status: New → Fix Committed
Abdulaziz Ghuloum (aghuloum) wrote :

This bug report is about to be closed as the fix comitted
previously will be incorporated in the next 0.0.3 release of
Ikarus Scheme, scheduled for January 31, 2008. A release
candidate tarball is available for download from:
http://www.cs.indiana.edu/~aghuloum/ikarus/ikarus-0.0.3-rc1.tar.gz
Please do test it if you have the time and report any issues
you might encounter. Thank you very much for your support.
(Sorry for the duplicates; I'm updating every open bug.)

Changed in ikarus:
milestone: none → 0.0.3
Changed in ikarus:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers