Looking for help writing parts of Clojure 1.5 changes.md

141 views
Skip to first unread message

Andy Fingerhut

unread,
Nov 15, 2012, 12:14:32 PM11/15/12
to cloju...@googlegroups.com
I've attached a first draft of a proposed new changes.md file for Clojure 1.5 as attachment changes-draft-v1.md on ticket CLJ-1091:

http://dev.clojure.org/jira/browse/CLJ-1091

Question: Is it true that Clojure 1.5 no longer supports Java 1.5, but requires 1.6 or later? If so, that definitely seems worth mentioning in "Deprecated and Removed Features", or somewhere prominent like that. I wasn't able to find anything else that has been deprecated or removed in Clojure 1.5 since 1.4.


I'm hoping to encourage others who are more knowledgeable than I am to write some of the sections in it, listed below.

Reducers

Reader Literals improved (the new default data readers stuff -- links to tickets are in the draft for reference)

New clojure.core functions set-agent-send-executor!, set-agent-send-off-executor!, and send-via

New threading macros test->, test->>, let->, when->, when->>

Column metadata captured by reader (link to ticket in draft)

gen-class improvements (links to tickets in draft)

Support added for marker protocols (link to ticket in draft)


I'd be happy to merge changes from people if that would make it easier.

Andy

Stuart Sierra

unread,
Nov 18, 2012, 9:08:53 AM11/18/12
to cloju...@googlegroups.com


On Thursday, November 15, 2012 12:14:37 PM UTC-5, Andy Fingerhut wrote:
Question: Is it true that Clojure 1.5 no longer supports Java 1.5, but requires 1.6 or later?  If so, that definitely seems worth mentioning in "Deprecated and Removed Features", or somewhere prominent like that.  I wasn't able to find anything else that has been deprecated or removed in Clojure 1.5 since 1.4.

Clojure 1.5 currently requires Java 1.6 to run all tests, but should still *build* and *run* on Java 1.5.

The cause is the addition of the new Reducers code, which depends on ForkJoin in either Java 1.7 or Java 1.6 with jsr166y.jar.

Unfortunately, our public releases are now built with Java 1.6, meaning that Java 1.5 VMs will likely refuse to load them. It should still be possible to manually build Clojure on Java 1.5.

-S

Andy Fingerhut

unread,
Nov 18, 2012, 8:24:46 PM11/18/12
to cloju...@googlegroups.com
I did verify that at least with Ubuntu 11.10 and Oracle JDK 1.5.0_22, the latest Clojure 1.5 master builds and runs on it.  "ant" fails when it gets to the tests, but "ant jar" builds a JAR file that can be used to run Clojure with JDK 1.5, 1.6, or 1.7.

I also tried running the latest publicly released clojure-1.5.0-beta1.jar with Oracle JDK 1.5.0_22 on Linux, and it brings up a REPL and does a few minor things fine in my testing.  I'm not so sure the latest Leingen runs well on that JDK, but I didn't investigate the problems I ran into trying.

I have a small patch to reducers.clj that adds another case (JDK < 6) to the compile-if for loading ForkJoin classes.  It simply defines the functions that are in the other branches, but to throw exceptions with an error message.  With that patch, "ant" builds and passes all tests (since none of them exercise the new reducers, I believe) even with JDK 1.5.  Let me know if there is any interest in incorporating such a patch.  I'd understand perfectly if that would be so low priority that no one would be interested.

Andy

Stuart Sierra

unread,
Nov 19, 2012, 9:53:57 AM11/19/12
to cloju...@googlegroups.com
I have a small patch to reducers.clj that adds another case (JDK < 6) to the compile-if for loading ForkJoin classes.  It simply defines the functions that are in the other branches, but to throw exceptions with an error message.  With that patch, "ant" builds and passes all tests (since none of them exercise the new reducers, I believe) even with JDK 1.5.  Let me know if there is any interest in incorporating such a patch.  I'd understand perfectly if that would be so low priority that no one would be interested.

I think that would be worthwhile.
-S

Andy Fingerhut

unread,
Nov 19, 2012, 4:52:54 PM11/19/12
to cloju...@googlegroups.com
On Nov 19, 2012, at 6:53 AM, Stuart Sierra wrote:

I have a small patch to reducers.clj that adds another case (JDK < 6) to the compile-if for loading ForkJoin classes.  It simply defines the functions that are in the other branches, but to throw exceptions with an error message.  With that patch, "ant" builds and passes all tests (since none of them exercise the new reducers, I believe) even with JDK 1.5.  Let me know if there is any interest in incorporating such a patch.  I'd understand perfectly if that would be so low priority that no one would be interested.

I think that would be worthwhile.

Reply all
Reply to author
Forward
0 new messages