This page is part of the web mail archives of SRFI 76 from before July 7th, 2015. The new archives for SRFI 76 contain all messages, not just those from before July 7th, 2015.
I have a few questions regarding the eq?-issue: - Can one construct/traverse an eq?-cyclic or eqv?-cyclic graph of immutable record nodes? According to the spec, it seems that an eq? cyclic graph of immutable nodes cannot be constructed, so it would have to be eqv?-cyclic, but the spec does not guarantee that (let ((f (lambda () (construct ...)))) (eqv? (f) (f))) => #f for /immutable/ records, which I think would be required for such cyclic graphs. - I would not like to artificially declare an immutable record as mutable just so I can use it in a cyclic graph. - A problem with treating mutable and immutable differently is that mutable might easily become immutable in the process of development if a field is dropped or changed - suddenly a program may break in places that are difficut to debug. - Another problem is that programs that use eq?/eqv? incorrectly will mostly work on some Schemes, only to fail, and then mysteriously depending on compiler switches and type inference controlling unboxing, on others. Cheers Andre