Where do I find javadoc for clojure interfaces?

96 views
Skip to first unread message

crocket

unread,
Oct 1, 2015, 4:59:12 AM10/1/15
to Clojure
http://clojure.github.io/clojure/javadoc/ doesn't expost interfaces like clojure.lang.ISeq, so when I refer to such interfaces, I have to download clojure javadoc from maven.
I'd like to refer to those interface on web browsers. Why are they not exposed on the web?

Phillip Lord

unread,
Oct 1, 2015, 5:41:37 AM10/1/15
to crocket, Clojure

Probably because they are not documented. This is the source code for
ISeq in total

/**
* A persistent, functional, sequence interface
* <p/>
* ISeqs are immutable values, i.e. neither first(), nor rest() changes
* or invalidates the ISeq
*/
public interface ISeq extends IPersistentCollection {

Object first();

ISeq next();

ISeq more();

ISeq cons(Object o);

}

I think you are supposed to guess what the interfaces mean based on the
names of the methods.

Phil

Stuart Sierra

unread,
Oct 3, 2015, 10:47:14 AM10/3/15
to Clojure
Interfaces like ISeq are internal details of Clojure's implementation. They're not part of the public API, so there is no guarantee that they won't change in future releases.

–S

Daniel Compton

unread,
Oct 3, 2015, 8:32:30 PM10/3/15
to Clojure
This has come up before https://groups.google.com/forum/#!topic/clojure/2ZHYa-Bv8UU

Alex's statement on the matter:

> The Clojure internal Java interfaces are certainly intended to allow library builders to create useful stuff that plays in the Clojure world. I do not know that anyone has ever said that they are "public", but I certainly think that any change to a core interface likely to break external users would be considered very carefully. 

I think that documentation on these interfaces would be very helpful. If they are meant to be private then it would be good to document that too, it's not obvious to an onlooker that this is the case. I took a look in JIRA and couldn't find a ticket for this, but it's a hard thing to search for.

--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clo...@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+u...@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+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
Daniel
Reply all
Reply to author
Forward
0 new messages