[ClojureScript] [ANN] Clojure 1.7.0 is now available

2015-06-30 Thread Alex Miller
We are pleased to announce the release of Clojure 1.7.

- Download: https://repo1.maven.org/maven2/org/clojure/clojure/1.7.0/
- Leiningen: [org.clojure/clojure 1.7.0]

The two headline features for 1.7 are transducers and reader conditionals.
Also see the complete list (
https://github.com/clojure/clojure/blob/master/changes.md) of all changes
since Clojure 1.6 for more details.

## Transducers

Transducers (http://clojure.org/transducers) are composable algorithmic
transformations. They are independent from the context of their input and
output sources and specify only the essence of the transformation in terms
of an individual element. Because transducers are decoupled from input or
output sources, they can be used in many different processes - collections,
streams, channels, observables, etc. Transducers compose directly, without
awareness of input or creation of intermediate aggregates.

Many existing sequence functions now have a new arity (one fewer argument
than before). This arity will return a transducer that represents the same
logic but is independent of lazy sequence processing. Functions included
are: map, mapcat, filter, remove, take, take-while, drop, drop-while,
take-nth, replace, partition-by, partition-all, keep, keep-indexed,
map-indexed, distinct, and interpose. Additionally some new transducer
functions have been added: cat, dedupe, and random-sample.

Transducers can be used in several new or existing contexts:

* into - to collect the results of applying a transducer
* sequence - to incrementally compute the result of a transducer
* transduce - to immediately compute the result of a transducer
* eduction - to delay computation and recompute each time
* core.async - to apply a transducer while values traverse a channel

## Portable Clojure and Reader Conditionals

It is now common to see a library or application targeting multiple Clojure
platforms with a single codebase. Clojure 1.7 introduces a new extension
(.cljc) for files that can be loaded by Clojure and ClojureScript (and
other Clojure platforms).

There will often be some parts of the code that vary between platforms. The
primary mechanism for dealing with platform-specific code is to isolate
that code into a minimal set of namespaces and then provide
platform-specific versions (.clj/.class or .cljs) of those namespaces.

To support cases where is not feasible to isolate the varying parts of the
code, or where the code is mostly portable with only small
platform-specific parts, 1.7 provides Reader Conditionals (
http://clojure.org/reader#The%20Reader--Reader%20Conditionals).

Reader conditionals are a new reader form that is only allowed in portable
cljc files. A reader conditional expression is similar to a cond in that it
specifies alternating platform identifiers and expressions. Each platform
is checked in turn until a match is found and the expression is read. All
expressions not selected are read but skipped. A final :default fallthrough
can be provided. If no expressions are matched, the reader conditional will
read nothing. The reader conditional splicing form takes a sequential
expression and splices the result into the surrounding code.

## Contributors

Thanks to all of those who contributed patches to Clojure 1.7:

Timothy Baldridge
Bozhidar Batsov
Brandon Bloom
Michael Blume
Ambrose Bonnaire-Sergeant
Aaron Cohen
Pepijn de Vos
Andy Fingerhut
Gary Fredricks
Daniel Solano Gómez
Stuart Halloway
Immo Heikkinen
Andrei Kleschinsky
Howard Lewis Ship
Alex Miller
Steve Miner
Nicola Mometto
Tomasz Nurkiewicz
Ghadi Shayban
Paul Stadig
Zach Tellman
Luke VanderHart
Jozef Wagner
Devin Walters
Jason Wolfe
Steven Yi

Also, continued thanks to the total list of contributors from all releases:
http://clojure.org/contributing#patches


Thanks!
Alex Miller

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
ClojureScript group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.


Re: [ClojureScript] [ANN] Clojure 1.7.0-RC1 now available

2015-06-12 Thread Dave Della Costa
Alex, I'm behind the curve but here's another experience report:

We've been testing with RC1 for the last few weeks in a development
branch, and found nothing out of the ordinary.  This is a relatively
substantial web app using libs such as compojure, clojure.java.jdbc,
Prismatic's schema, and a bunch of other fairly common libraries.

The only thing that I've really noticed, in fact, is that it's lovely to
get rid of CLJX and have reader conditionals baked-in!

Thanks--

DD

On 2015/05/22 1:30, Alex Miller wrote:
 Clojure 1.7.0-RC1 is now available.
 
 Try it via
 - Download: https://repo1.maven.org/maven2/org/clojure/clojure/1.7.0-RC1/
 - Leiningen: [org.clojure/clojure 1.7.0-RC1]
 
 The only change since 1.7.0-beta3 is CLJ-1706, which makes reader
 conditional splicing an error at the top level (previously it would
 silently drop all but the first spliced element).
 
 For a full list of changes since 1.6.0, see:
 https://github.com/clojure/clojure/blob/master/changes.md
 
 Please give it a try and let us know if things are working (or not). The
 more and quicker feedback we get, the sooner we can release 1.7.0 final!
 
 - Alex
 
 -- 
 Note that posts from new members are moderated - please be patient with
 your first post.
 ---
 You received this message because you are subscribed to the Google
 Groups ClojureScript group.
 To unsubscribe from this group and stop receiving emails from it, send
 an email to clojurescript+unsubscr...@googlegroups.com
 mailto:clojurescript+unsubscr...@googlegroups.com.
 To post to this group, send email to clojurescript@googlegroups.com
 mailto:clojurescript@googlegroups.com.
 Visit this group at http://groups.google.com/group/clojurescript.

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
ClojureScript group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.


Re: [ClojureScript] [ANN] Clojure 1.7.0-RC1 now available

2015-06-12 Thread Alex Miller
Thanks David! Hopefully we'll have an RC2 out soon.

On Friday, June 12, 2015 at 5:19:28 AM UTC-5, David Della Costa wrote:
 Alex, I'm behind the curve but here's another experience report:
 
 We've been testing with RC1 for the last few weeks in a development
 branch, and found nothing out of the ordinary.  This is a relatively
 substantial web app using libs such as compojure, clojure.java.jdbc,
 Prismatic's schema, and a bunch of other fairly common libraries.
 
 The only thing that I've really noticed, in fact, is that it's lovely to
 get rid of CLJX and have reader conditionals baked-in!
 
 Thanks--
 
 DD

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
ClojureScript group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.


Re: [ClojureScript] [ANN] Clojure 1.7.0-RC1 now available

2015-05-29 Thread Stephen Nelson
I think I might have found a bug that affects multimethod dispatch
when using AOT. I've created an example repository:
https://github.com/sfnelson/clj-mm-dispatch

To me it seems similar to CLJ-979, my hypothesis is that defmethods
are using the wrong classloader to get class references. Is anyone
aware of existing open bugs along these lines?

On Fri, May 22, 2015 at 4:30 AM, Alex Miller a...@puredanger.com wrote:
 Clojure 1.7.0-RC1 is now available.

 Try it via
 - Download: https://repo1.maven.org/maven2/org/clojure/clojure/1.7.0-RC1/
 - Leiningen: [org.clojure/clojure 1.7.0-RC1]

 The only change since 1.7.0-beta3 is CLJ-1706, which makes reader
 conditional splicing an error at the top level (previously it would silently
 drop all but the first spliced element).

 For a full list of changes since 1.6.0, see:
 https://github.com/clojure/clojure/blob/master/changes.md

 Please give it a try and let us know if things are working (or not). The
 more and quicker feedback we get, the sooner we can release 1.7.0 final!

 - Alex

 --
 Note that posts from new members are moderated - please be patient with your
 first post.
 ---
 You received this message because you are subscribed to the Google Groups
 ClojureScript group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to clojurescript+unsubscr...@googlegroups.com.
 To post to this group, send email to clojurescript@googlegroups.com.
 Visit this group at http://groups.google.com/group/clojurescript.

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
ClojureScript group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.


Re: [ClojureScript] [ANN] Clojure 1.7.0-RC1 now available

2015-05-21 Thread Andy Fingerhut
Alex, doing a quick sweep of new public Vars in 1.7.0-RC1 that were not in
Clojure 1.6.0 (complete list of all 21 below), I noticed that the following
two do not have any doc strings.  Intentional, or oversight?

*suppress-read*
Throwable-map

Andy


*suppress-read*
-Eduction
Throwable-map
cat
completing
dedupe
eduction
ensure-reduced
random-sample
reader-conditional
reader-conditional?
run!
tagged-literal
tagged-literal?
transduce
unreduced
update
volatile!
volatile?
vreset!
vswap!

On Thu, May 21, 2015 at 9:30 AM, Alex Miller a...@puredanger.com wrote:

 Clojure 1.7.0-RC1 is now available.

 Try it via
 - Download: https://repo1.maven.org/maven2/org/clojure/clojure/1.7.0-RC1/
 - Leiningen: [org.clojure/clojure 1.7.0-RC1]

 The only change since 1.7.0-beta3 is CLJ-1706, which makes reader
 conditional splicing an error at the top level (previously it would
 silently drop all but the first spliced element).

 For a full list of changes since 1.6.0, see:
 https://github.com/clojure/clojure/blob/master/changes.md

 Please give it a try and let us know if things are working (or not). The
 more and quicker feedback we get, the sooner we can release 1.7.0 final!

 - Alex

 --
 Note that posts from new members are moderated - please be patient with
 your first post.
 ---
 You received this message because you are subscribed to the Google Groups
 ClojureScript group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to clojurescript+unsubscr...@googlegroups.com.
 To post to this group, send email to clojurescript@googlegroups.com.
 Visit this group at http://groups.google.com/group/clojurescript.


-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
ClojureScript group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.


[ClojureScript] [ANN] Clojure 1.7.0-RC1 now available

2015-05-21 Thread Alex Miller
Clojure 1.7.0-RC1 is now available.

Try it via
- Download: https://repo1.maven.org/maven2/org/clojure/clojure/1.7.0-RC1/
- Leiningen: [org.clojure/clojure 1.7.0-RC1]

The only change since 1.7.0-beta3 is CLJ-1706, which makes reader
conditional splicing an error at the top level (previously it would
silently drop all but the first spliced element).

For a full list of changes since 1.6.0, see:
https://github.com/clojure/clojure/blob/master/changes.md

Please give it a try and let us know if things are working (or not). The
more and quicker feedback we get, the sooner we can release 1.7.0 final!

- Alex

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
ClojureScript group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.