Comment made by: ppotter
Attached 002-make-PersistentQueue-implement-Asequential.diff
This patch is an alternative to 001-make-PersistentQueue-implement-List.diff
So I took on board what you said about ASeq, but it didn't feel right making PersistentQueue directly implement ISeq, somehow.
So I split ASeq into two parts -- ASequential, which implements j.u.{Collection,List} and manages List-equality and hashcodes; and ASeq, which... doesn't seem to be doing much anymore, to be honest.
As a bonus, this patch fixes CLJ-1070 too, so I went and added the tests from that ticket in to demonstrate this fact. It also tidies up PersistentQueue by removing all equals/hashcCode stuff and all Collection stuff.
(It turns out that because ASeq was already implementing Obj, the fact that PersistentQueue was implementing Obj was no barrier to using it.)
Would appreciate comments on this approach, and how it differs from the previous patch here and the patch on CLJ-1070.