Arc Forumnew | comments | leaders | submitlogin
3 points by soegaard 6312 days ago | link | parent

"Issue". It behaves as specified. From R5RS:

Equal? recursively compares the contents of pairs, vectors, and strings, applying eqv? on other objects such as numbers and symbols. A rule of thumb is that objects are generally equal? if they print the same. Equal? may fail to terminate if its arguments are circular data structures.

There is a silver lining though. In R6RS the following was added:

  Note: The equal? procedure must always terminate, even if its arguments contain cycles.

That is, there is a good chance that the behaviour of equal? changes, when the PLT Scheme team begins implementing the R6RS language.