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 470: Say what `equal?` does in the presence of circularities

2012-08-30 13:12:46
WG1 - Core
alexshinn
major
cowan
wontfix
source
closed
2012-08-30 06:43:27
defect

Currently we say that equal? must detect loops, but we don't say what it should do. The wording in R6RS is "The equal? predicate returns #t if and only if the (possibly infinite) unfoldings of its arguments into regular trees are equal as ordered trees." (Better wording would be good.)

Possibilities: R6RS, signal an error, return #f.

summaryEditorial: Add language saying what `equal?` does in the presence of circularitiesSay what `equal?` does in the presence of circularities
descriptionCurrently we say that `equal?` must detect loops, but we don't say what it should do. I think everyone assumes this means doing what R6RS does. The wording there is "The `equal?` predicate returns `#t` if and only if the (possibly infinite) unfoldings of its arguments into regular trees are equal as ordered trees." This doesn't strike me as very clear, but we'll need to use if we can't find anything better.Currently we say that `equal?` must detect loops, but we don't say what it should do. The wording in R6RS is "The `equal?` predicate returns `#t` if and only if the (possibly infinite) unfoldings of its arguments into regular trees are equal as ordered trees." (Better wording would be good.) Possibilities: R6RS, signal an error, return `#f`.
resolutionwontfix
statusnewclosed

This is being handled editorially, since the objection that led to its appearance as a ballot ticket is now withdrawn.