Alex Miller <a...@puredanger.com> writes: > next() should return either the remaining seq or null (think Clojure > function next) > more() should return either the remaining seq or empty list (like Clojure > function rest) > > Inside Clojure, most seqs extend ASeq, which implements more() on top of > the abstract next(): > > public ISeq more(){ > ISeq s = next(); > if(s == null) > return PersistentList.EMPTY; > return s; > } > > equiv() is like equals() but equals() follows Java semantics and equiv() > follows Clojure semantics. For your custom types, it's likely they mean the > same thing. > > empty() returns a collection of the same type without any elements.
Is the only place this is written down is by working reading the implementing classes? > Not sure on mutually recurring deftypes - sounds tricky. It is entirely > possible this has come up on clojure or clojure-dev mailing lists in the > past so I would start by searching there. Well, I have a solution of forms for this. Phil -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.