[ANN] Clojure 1.3 RC0

226 views
Skip to first unread message

Christopher Redinger

unread,
Sep 13, 2011, 9:02:29 AM9/13/11
to clo...@googlegroups.com
Clojure 1.3 RC0 is now available at http://clojure.org/downloads

Changes since Beta 3:

* Optimization should not demote BigInts (CLJ-836)
* Added Intrinsics
* fix nary-inline so *unchecked-math* works again

Please download it and let us know how it works for you. 1.3 is getting close.

Sean Corfield

unread,
Sep 13, 2011, 12:03:22 PM9/13/11
to clo...@googlegroups.com
On Tue, Sep 13, 2011 at 6:02 AM, Christopher Redinger
<redi...@gmail.com> wrote:
> Clojure 1.3 RC0 is now available at http://clojure.org/downloads
> Changes since Beta 3:
> * Optimization should not demote BigInts (CLJ-836)
> * Added Intrinsics

Could someone speak to this change since it didn't have an attached
JIRA ticket? It looks like an optimization to use direct bytecodes
rather than static method calls for a certain set of operations in
some contexts?

> * fix nary-inline so *unchecked-math* works again
> Please download it and let us know how it works for you. 1.3 is getting
> close.

We'll be running tests today on dev, CI and probably QA. We're looking
to take a new build of our platform into production this week, which
has a LOT more Clojure in it and, if RC0 works out, that'll be in our
production build too.
--
Sean A Corfield -- (904) 302-SEAN
An Architect's View -- http://corfield.org/
World Singles, LLC. -- http://worldsingles.com/
Railo Technologies, Inc. -- http://www.getrailo.com/

"Perfection is the enemy of the good."
-- Gustave Flaubert, French realist novelist (1821-1880)

Paul Stadig

unread,
Sep 14, 2011, 11:45:27 AM9/14/11
to clo...@googlegroups.com
This compiles fine in 1.2.1, but fails in 1.3.0-RC0

(defn foo [[bar & baz]]
  (try
    (if (seq baz)
      (if (= bar 99)
        (throw (Exception. "FAIL"))
        (recur baz))
      bar)
    (catch Exception e
      :fail)))

You get a compiler error: java.lang.UnsupportedOperationException: Cannot recur across try

I assume there is a reason for this? Or should it be considered a bug?


Paul

David Nolen

unread,
Sep 14, 2011, 11:55:40 AM9/14/11
to clo...@googlegroups.com
It was unsupported behavior in 1.2.1. Now you get error sooner.

David



--
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

Paul Stadig

unread,
Sep 14, 2011, 12:00:03 PM9/14/11
to clo...@googlegroups.com
For unsupported behavior it seemed to work pretty well in our code :), but perhaps it was just a timebomb. In our case it was several layers of macros obscuring the recur across try.

I guess we'll have to figure out how to rewrite around it, when we get around to picking up 1.3.


Paul

Sean Corfield

unread,
Sep 14, 2011, 12:05:50 PM9/14/11
to clo...@googlegroups.com
On Wed, Sep 14, 2011 at 8:45 AM, Paul Stadig <pa...@stadig.name> wrote:
> This compiles fine in 1.2.1, but fails in 1.3.0-RC0

Intentional removal:

https://github.com/clojure/clojure/blob/master/changes.txt

"1.3 Disallow recur across try"

Aaron Bedra

unread,
Sep 14, 2011, 12:43:25 PM9/14/11
to clo...@googlegroups.com
And the supporting ticket in JIRA

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

Paul Stadig

unread,
Sep 14, 2011, 2:08:19 PM9/14/11
to clo...@googlegroups.com
Yeah it makes sense and is vaguely familiar now. I should have read the changelog. In our case we have a with-channel macro that expands into a try that I think could be moved up to a higher level and not be recuring across a try.


Thanks,
Paul

Sean Corfield

unread,
Sep 14, 2011, 7:39:02 PM9/14/11
to clo...@googlegroups.com
On Wed, Sep 14, 2011 at 9:43 AM, Aaron Bedra <aaron...@gmail.com> wrote:
> And the supporting ticket in JIRA
>
> http://dev.clojure.org/jira/browse/CLJ-31

Nice. Now I understand better why this was disabled.

Reply all
Reply to author
Forward
0 new messages