[ClojureScript] [ANN] Clojure 1.7.0 is now available
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
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
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
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
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
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.