On Jul 7, 5:31 pm, Garth Sheldon-Coulson <g...@mit.edu> wrote:
> Hello Clojurians---
>
> I'm about to begin writing a Clojure wrapper for a Java data structure
> that's amenable to seq-ability.
>
> 1) I'd like to implement the ISeq interface. Could someone point me to some
> up-to-date documentation on what I need to implement? Sorry if this is
> covered somewhere obvious... I couldn't find it.
>
> Stu's book and the web site seem to indicate that "first," "cons," and
> "rest" are the important things (are they all?). Yet I see discussions
> online about, e.g., "next," and looking inside clojure.lang.ISeq I see cons,
> first, more, and next. Am I right in assuming that Clojure constructs (rest
> coll) out of some combination of these? Could someone shed some light on
> this?
>
> 2) Can one enhance the performance of the seq library by implementing more
> than the basics (i.e. more than [first cons rest] or [first cons more
> next])? Or is the whole idea that the entire edifice is built on just the
> basics?
>
> 3) How stable is the interface at this point?
>

You should have a look at clojure.lang.StringSeq and
clojure.lang.IteratorSeq. Deriving from ASeq as they do is the way to
go. The interface is stable, and no, there are no other optimizations
needed.

Rich

--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to