I may end up in the same incomplete, unmaintained state as the other
libraries you've seen, but I'm slowly starting on a Java interop library
"cljj" (https://github.com/ike-tools/ike.cljj).

- AutoCloseable - As James (Reeves) mentioned, clojure.core/with-open meets
this need.
- NIO2 - Standard Java interop is functional, but can be a pain due to the
heavy use of varargs in NIO2 APIs. I'd like to wrap this in cljj.
- Streams - Can add reduce/transduce support by implementing CollReduce
protocol. There's not a clean way to support the clojure.core/seq function,
that I've seen without wrapping the stream. I plan to support this in cljj.
- Lambdas - I do find these to be a pain, and had a thread on this list a
week or two ago. Right now I'm planning to just have functions/macros to
wrap/define methods implementing java.util.function interfaces. Ideally,
the compiler would support this better. This is the only one that really
would require any change to Clojure itself for better Java 8 support IMO.

I can understand James' (Elliott) desire to keep Java 6 compatibility for
platforms that are slower to adopt newer JVMs, but I hope that doesn't
become an excuse for Clojure to stay moored to the JVM's past for the
long-term.

Andrew Oberstar

On Fri, Aug 7, 2015 at 7:12 AM Morten Christensen <m...@41concepts.com>
wrote:

> I am new to Clojure which I am evaluating using Clojure for a Java 8 based
> framework with code in clojure, java and possibly other jvm based languages
> that all need to interoperate.
>
> Clojure has many smart features which I like but there is at least one
> drawback. I could be wrong (?) but it appears to me that feature-wise it is
> limited to a legacy version of java - Java version 6 from 2008.
>
> Happily Clojure tolerate running under Java 7/8 but I have found no
> specific support for Java 7/8 features. In particular there is no support
> for NIO 2.0 or interoperability support for @FunctionalInterface,
> java.lang.AutoCloseable, Method parameter reflection, java.util.stream etc.
>
> I could do my own Clojure wrapper for NIO 2 but it seems to be quite hard
> for that particular tech (other people in the community have tried without
> being 100% complete and could not find anything that is actively
> maintained). All the other stuff seems like something that need in Clojure
> itself along with invokedynamic and other optimizations.
>
> Is there any plans for actively supporting Java 7/8 ?
>
> /Morten
>
> --
> 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/d/optout.
>

-- 
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/d/optout.

Reply via email to