<< Back to previous view

[CLJ-1015] Standalone Clojure library for Java users Created: 14/Jun/12  Updated: 14/Jun/12

Status: Open
Project: Clojure
Component/s: None
Affects Version/s: Release 1.5
Fix Version/s: None

Type: Enhancement Priority: Minor
Reporter: Edward Z. Yang Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None


 Description   

Many of Clojure's data structures (e.g. PersistentHashMap) may be of interest to the wider Java community, and would benefit from being packaged in a way that makes them easy to include in projects. While they are public (and thus can be accessed by way of clojure.lang), Clojure's classloader is implemented in a way such that Clojure files such as core.clj end up being loaded, even when an end-user is not interested in the Clojure environment itself. The Java classes could also use some documentation!

I'd be happy to work on a patch but this change may require some restructuring of the build process, so it'd be good to get community sign-off first.



 Comments   
Comment by Andy Fingerhut [ 14/Jun/12 5:39 PM ]

I am assuming this ticket is a request that the original Clojure distribution be modified to easily build such a library of data structures, and be maintained as a separate build target, going forward.

Reference to related info: Below is a copy of most of a message from someone with userid Krukow posted to the Clojure Google group on June 3, 2012: https://groups.google.com/forum/?fromgroups#!topic/clojure/UyjmafY_ZE8

I created a project containing only the persistent data structures for use with Java et al.

https://github.com/krukow/clj-ds

It is the data structures only so no bootstrap penalty. There are also Java'ish "improvements" like basic Generics and improved performance on the iterator pattern.

It's still on Clojure 1.3 (As far as I recall), but I am planning on taking another iteration.

TODO:

  • better Generics support
  • more data structures (tries, RRB-trees)
  • include the reducers library support for parallelism
Generated at Thu Oct 30 11:48:50 CDT 2014 using JIRA 4.4#649-r158309.