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.