This site is a static rendering of the Trac instance that was used by R7RS-WG1 for its work on R7RS-small (PDF), which was ratified in 2013. For more information, see Home.

Ticket 51: support for cyclic structures in primitives

2012-10-05 00:40:44
WG1 - Core
alexshinn
major
alexshinn
fixed
source
closed
2010-04-20 05:59:02
defect

list?, length, equal? and other fundamental primitives may diverge when given cyclic data. In the former two cases, avoiding this is simple and not inefficient, and the equivalents already provided in SRFI-1, in the latter case a proposal was made and rejected on the R6RS list.

Do we want to specify the behavior when these primitives encounter cyclic data?

What a reason given for the rejection? Was there any rationale given for this behavior? I'd like to see what the previous editor's thought about this, and why it was chosen to be this way.

resolutionfixed
statusnewclosed

The WG voted to accept the SRFI-1 rules, and to require that equal? MUST NOT terminate on a cyclic list.

Correction: The WG voted to make no change to R5RS.

WG1 voted:

equal? is required to do proper checks for cyclic structure to not diverge list? should return #f and length raise an error for cyclic lists

resolutionfixed
statusclosedreopened
owneralexshinn
statusreopenedassigned
statusassigneddecided
owneralexshinn
statusdecidedwriting
resolutionfixed
statuswritingclosed