Re: Cycle detection problems: #442, #338, "equal?" John Cowan (31 Aug 2012 15:22 UTC)
Re: Cycle detection problems: #442, #338, "equal?" John Cowan (31 Aug 2012 21:47 UTC)

Re: Cycle detection problems: #442, #338, "equal?" John Cowan 31 Aug 2012 21:46 UTC

Aaron W. Hsu scripsit:

> While I disagree with the proposals here for EQUAL?, I don't think
> you are correct when you say that the above is a non-conformant
> implementation of WRITE.

I think you are correct: it is not non-conformant, merely (in my
view) suboptimal.  `Write` should not generate more labels than
necessary to handle loops, but if a loop is present, it *may* generate
structure-sharing labels.

> And this brings up the point about EQUAL? which is not meant to
> compare pointer identities, but instead meant to check for some
> level of structural equality, and where I think the R6RS description
> of termination as stated in these lists seems reasonable enough.

I would still like someone to explain the term "regular trees".

--
John Cowan   cowan-PrmTNUR8zL8@public.gmane.org    http://ccil.org/~cowan
If a soldier is asked why he kills people who have done him no harm, or a
terrorist why he kills innocent people with his bombs, they can always
reply that war has been declared, and there are no innocent people in an
enemy country in wartime.  The answer is psychotic, but it is the answer
that humanity has given to every act of aggression in history.  --Northrop Frye