SRFI-38 standardizes the #0=(1 . #0#) shared structure notation for read/write. In the case of write, this can be expensive to compute, but otherwise the common case of the repl printing a cyclic structure results in an infinite loop.
Do we want to add support for this, as an option or separate set of procedures?
The WG has voted to accept SRFI-38 as part of the core.
To be revoted because there was no simple majority.
The native read/write will support the SRFI-38 notation natively.
SRFI 38 notation is accepted on input; on output, there are now various procedures to control how (and if) it's generated.
Since we have to deal with the REPL, I'm inclined to include this, but I'm not sure whether this is something that should be added. I don't know about the various arguments for an against. I know that it is commonly implemented on the Scheme systems that I use. In Chez Scheme, when trying to write a cyclic structure, the PRINT-GRAPH parameter is automatically set to #t for the duration of that operation. In general, with these sorts of things, I'm in favor of controlling them via parameters, so a PRINT-GRAPH parameter makes sense to me here if we do standardize this feature, to enable to disable it.