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.

Reply via email to