Ok, thanks - I was looking for a way to access the data, right, I'll try
tagged-literal for this.

On 1 April 2015 at 17:03, Alex Miller <a...@puredanger.com> wrote:

> We do not expect to provide readers for the #object and #error forms
> (afaik). It's not possible to actual create a new Object or Throwable form
> that would be useful as an instance.
>
> The new tagged-literal function could be used as a fallback reader
> function for either though, which would then allow you to retrieve either
> the tag or form as data.
>
> On Tue, Mar 31, 2015 at 9:57 PM, Colin Fleming <
> colin.mailingl...@gmail.com> wrote:
>
>> One question - it appears that the new #object and #error forms aren't
>> readable at the moment. Is this something that's coming, or is the
>> intention just that people could provide reader functions for these if they
>> wanted to?
>>
>> On 1 April 2015 at 14:01, Sean Corfield <s...@corfield.org> wrote:
>>
>>> With instaparse 1.3.6 available, we’ve been able to upgrade our dev
>>> stack to Clojure 1.7.0-alpha6 and all our automated tests pass (and our
>>> full build/test script seems to be running a bit faster although we haven’t
>>> actually benchmarked our application yet). We’ll push alpha6 into QA either
>>> later today or tomorrow in preparation for our next production build (we’re
>>> running alpha5 in production right now).
>>>
>>> Sean
>>>
>>> On Mar 31, 2015, at 3:21 PM, Sean Corfield <s...@corfield.org> wrote:
>>>
>>> Looks like a great set of updates!
>>>
>>> Unfortunately, as several of us found out today, the change to the
>>> StringReader invoke() signature breaks Instaparse so I’m blocked from
>>> testing the World Singles code base with alpha6 (or master) at the moment.
>>> Is that just a hazard of relying on the internals of reader classes or
>>> would Clojure/core consider that breakage avoidable (by adding an
>>> overloaded signature instead of just changing the current signature)? Since
>>> those readers extend AFn, it seems that there is an expectation that they
>>> would be used as functions in Clojure code out in the wild...
>>>
>>> Sean
>>>
>>> On Mar 31, 2015, at 9:50 AM, Alex Miller <a...@puredanger.com> wrote:
>>>
>>> Clojure 1.7.0-alpha6 is now available.
>>>
>>> Try it via
>>> - Download:
>>> https://repo1.maven.org/maven2/org/clojure/clojure/1.7.0-alpha6/
>>> - Leiningen: [org.clojure/clojure "1.7.0-alpha6"]
>>>
>>> Regression fixes from previous alphas (and one from 1.6):
>>>
>>> 1) CLJ-1544 was rolled back and will be investigated for a future
>>> release.
>>> 2) CLJ-1637 fixed regression with vec on MapEntry
>>> 3) CLJ-1663 fixed regression in classloader (affected Cursive)
>>> 4) CLJ-1638 fixed regression with removed PersistentVector.create(List)
>>> method
>>> 5) CLJ-1681 fixed regression in 1.6 with NPE on reflection warning for
>>> literal nil arg
>>> 6) CLJ-1604 fixed problem with AOT and shadowing clojure.core symbols
>>> that prevented update
>>>
>>> Some highlights new in alpha6:
>>>
>>> ## Transducer-related changes:
>>>
>>> The LazyTransformer introduced to create lazy transforming sequences has
>>> been
>>> replaced with a TransformingIterator. This was done to simplify the code
>>> around transformations and to make certain use cases around eduction
>>> more efficient.
>>>
>>> ## Faster reduce, iterator, and sequence paths
>>>
>>> A lot of work has been done across a set of tickets to improve the
>>> ability of
>>> collections to provide more efficient reduce or iterator performance,
>>> and also to
>>> make common sequence generators create faster sequence and reduce paths.
>>> You
>>> should see significant performance in many reduce-related paths (this
>>> includes
>>> reduce, transduce, into, and anything else built on reduce).
>>>
>>> Many of those changes also have beneficial sequence performance, so you
>>> may see
>>> some benefits even in code that does not use transducers.
>>>
>>> * Most uses of SeqIterator have now been replaced with iterators that
>>> directly walk
>>> the underlying source for improved efficiency. This includes maps, sets,
>>> records, etc.
>>> * repeat - now returns a faster sequence with a fast reduce path
>>> * cycle - now returns a faster sequence with a fast reduce path
>>> * iterate - now returns a faster sequence with a fast reduce path
>>> * range - (did not quite make it in, but coming soon...)
>>> * keys - iterates directly over the keys of a map, without seq or
>>> MapEntry allocation
>>> * vals - iterates directly over the vals of a map, without seq or
>>> MapEntry allocation
>>> * iterator-seq - now creates a chunked sequence when previously it was
>>> unchunked
>>> * vec and set - were not changed in this release but were set up in a
>>> previous alpha
>>>   to take advantage of the reduce and iterator changes above
>>>
>>> ## Reader conditionals
>>>
>>> Reader Conditionals is a new capability to support portable code that
>>> can run on multiple Clojure platforms with only small changes. In
>>> particular, this feature aims to support the increasingly common case
>>> of libraries targeting both Clojure and ClojureScript.
>>>
>>> Code intended to be common across multiple platforms should use a new
>>> supported file extension: ".cljc". When requested to load a namespace,
>>> the platform-specific file extension (.clj, .cljs) will be checked
>>> prior to .cljc.
>>>
>>> A new reader form can be used to specify "reader conditional" code in
>>> cljc files (and *only* cljc files). Each platform defines a feature
>>> identifying the platform (:clj, :cljs, :cljr). The reader conditional
>>> specifies code that is read conditionally based on the feature/
>>>
>>> Form #? takes a list of alternating feature and expression. These are
>>> checked like cond and the selected expression is read and returned. Other
>>> branches are unread. If no branch is selected, the reader reads nothing
>>> (not nil, but literally as if reading ""). An optional ":default" branch
>>> can be used as a fallthrough.
>>>
>>> Reader conditional with 2 features and a default:
>>>
>>> #?(:clj     Double/NaN
>>>    :cljs    js/NaN
>>>    :default nil)
>>>
>>> There is also a reader conditional splicing form. The evaluated
>>> expression
>>> should be sequential and will be spliced into the surrounded code,
>>> similar
>>> to unqoute-splicing.
>>>
>>> For example:
>>>
>>>    [1 2 #?@(:clj [3 4] :cljs [5 6])]
>>>
>>> This form would read as [1 2 3 4] on Clojure, [1 2 5 6] on ClojureScript,
>>> and [1 2] on any other platform.
>>>
>>> Additionally, the reader can now be invoked with options for the features
>>> to use and how to interpret reader conditionals. By default, reader
>>> conditionals
>>> are not allowed, but that can be turned on, or a "preserve" mode can be
>>> used to
>>> preserve all branches (most likely useful for tooling or source
>>> transforms).
>>>
>>> In the preserve mode, the reader conditional itself and any tagged
>>> literals
>>> within the unselected branches are returned as tagged literal data.
>>>
>>> For more information, see:
>>> http://dev.clojure.org/display/design/Reader+Conditionals
>>>
>>> Two important side notes:
>>> - Clojure dependencies have been updated and you must re-run antsetup.sh
>>> if you
>>> build Clojure locally with ant.
>>> - The equivalent ClojureScript support for reader conditionals is not
>>> yet available
>>> but is a top priority to release as soon as possible... stay tuned.
>>>
>>> ## Printing as data
>>>
>>> There have been enhancements in how the REPL prints values without a
>>> print-method, specifically Throwable and the fallthrough Object case.
>>> Both cases now print in a tagged literal data form that can be read
>>> by the reader.
>>>
>>> Unhandled objects print with the class, hash code, and toString:
>>>
>>> user=> *ns*
>>> #object[clojure.lang.Namespace 0x55aa628 "user"]
>>>
>>> Thrown exceptions will still be printed in the normal way by the default
>>> REPL but printing them to a stream will show a different form:
>>>
>>> user=> (/ 1 0)
>>> ArithmeticException Divide by zero  clojure.lang.Numbers.divide
>>> (Numbers.java:158)
>>> user=> (println *e)
>>> #error{:cause Divide by zero,
>>>    :via [{:type java.lang.ArithmeticException,
>>>       :message Divide by zero,
>>>   :at [clojure.lang.Numbers divide Numbers.java 158]}],
>>>    :trace
>>>      [[clojure.lang.Numbers divide Numbers.java 158]
>>>   [clojure.lang.Numbers divide Numbers.java 3808]
>>>   [user$eval5 invoke NO_SOURCE_FILE 3]
>>>   ;; elided ...
>>>   ]]}
>>>
>>> For all changes new in alpha6, see the issues marked "(alpha6)" in the
>>> full changes below.
>>>
>>> ------------------------------------------------------------
>>> Clojure 1.7.0-alpha6 has the following updates since 1.6.0:
>>>
>>> ## 1 New and Improved Features
>>>
>>> ### 1.1 Transducers
>>>
>>> Transducers is a new way to decouple algorithmic transformations from
>>> their
>>> application in different contexts. Transducers are functions that
>>> transform
>>> reducing functions to build up a "recipe" for transformation.
>>>
>>> Also see: http://clojure.org/transducers
>>>
>>> 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:
>>>
>>> * conj (conjs to [])
>>> * map
>>> * mapcat
>>> * filter
>>> * remove
>>> * take
>>> * take-while
>>> * drop
>>> * drop-while
>>> * take-nth
>>> * replace
>>> * partition-by
>>> * partition-all
>>> * keep
>>> * keep-indexed
>>> * map-indexed
>>> * distinct
>>> * interpose
>>>
>>> Additionally some new transducer functions have been added:
>>>
>>> * cat - concatenates the contents of each input
>>> * dedupe - removes consecutive duplicated values
>>> * random-sample - returns items from coll with random probability
>>>
>>> And this function can be used to make completing transforms:
>>>
>>> * completing
>>>
>>> There are also several new or modified functions that can be used to
>>> apply
>>> transducers in different ways:
>>>
>>> * sequence - takes a transformation and a coll and produces a lazy seq
>>> * transduce - reduce with a transformation (eager)
>>> * eduction - returns a reducible/iterable of applications of the
>>> transducer to items in coll. Applications are re-performed with every
>>> reduce/iterator.
>>> * run! - run the transformation for side effects on the collection
>>>
>>> There have been a number of internal changes to support transducers:
>>>
>>> * volatiles - there are a new set of functions (volatile!, vswap!,
>>> vreset!, volatile?) to create and use volatile "boxes" to hold state in
>>> stateful transducers. Volatiles are faster than atoms but give up atomicity
>>> guarantees so should only be used with thread isolation.
>>> * array iterators - added support for iterators over arrays
>>>
>>> Some related issues addressed during development:
>>> * [CLJ-1511](http://dev.clojure.org/jira/browse/CLJ-1511)
>>> * [CLJ-1497](http://dev.clojure.org/jira/browse/CLJ-1497)
>>> * [CLJ-1549](http://dev.clojure.org/jira/browse/CLJ-1549)
>>> * [CLJ-1537](http://dev.clojure.org/jira/browse/CLJ-1537)
>>> * [CLJ-1554](http://dev.clojure.org/jira/browse/CLJ-1554)
>>> * [CLJ-1601](http://dev.clojure.org/jira/browse/CLJ-1601)
>>> * [CLJ-1606](http://dev.clojure.org/jira/browse/CLJ-1606)
>>> * [CLJ-1621](http://dev.clojure.org/jira/browse/CLJ-1621)
>>> * [CLJ-1600](http://dev.clojure.org/jira/browse/CLJ-1600)
>>> * [CLJ-1635](http://dev.clojure.org/jira/browse/CLJ-1635) (alpha6)
>>> * [CLJ-1683](http://dev.clojure.org/jira/browse/CLJ-1683) (alpha6)
>>> * [CLJ-1669](http://dev.clojure.org/jira/browse/CLJ-1669) (alpha6)
>>>
>>> ### 1.2 Reader Conditionals (alpha6)
>>>
>>> Reader Conditionals is a new capability to support portable code that
>>> can run on multiple Clojure platforms with only small changes. In
>>> particular, this feature aims to support the increasingly common case
>>> of libraries targeting both Clojure and ClojureScript.
>>>
>>> Code intended to be common across multiple platforms should use a new
>>> supported file extension: ".cljc". When requested to load a namespace,
>>> the platform-specific file extension (.clj, .cljs) will be checked
>>> prior to .cljc.
>>>
>>> A new reader form can be used to specify "reader conditional" code in
>>> cljc files (and *only* cljc files). Each platform defines a feature
>>> identifying the platform (:clj, :cljs, :cljr). The reader conditional
>>> specifies code that is read conditionally based on the feature/
>>>
>>> Form #? takes a list of alternating feature and expression. These are
>>> checked like cond and the selected expression is read and returned. Other
>>> branches are unread. If no branch is selected, the reader reads nothing
>>> (not nil, but literally as if reading ""). An optional ":default" branch
>>> can be used as a fallthrough.
>>>
>>> Reader conditional with 2 features and a default:
>>>
>>> #?(:clj     Double/NaN
>>>    :cljs    js/NaN
>>>    :default nil)
>>>
>>> There is also a reader conditional splicing form. The evaluated
>>> expression
>>> should be sequential and will be spliced into the surrounded code,
>>> similar
>>> to unqoute-splicing.
>>>
>>> For example:
>>>
>>>    [1 2 #?@(:clj [3 4] :cljs [5 6])]
>>>
>>> This form would read as [1 2 3 4] on Clojure, [1 2 5 6] on ClojureScript,
>>> and [1 2] on any other platform.
>>>
>>> Additionally, the reader can now be invoked with options for the features
>>> to use and how to interpret reader conditionals. By default, reader
>>> conditionals
>>> are not allowed, but that can be turned on, or a "preserve" mode can be
>>> used to
>>> preserve all branches (most likely useful for tooling or source
>>> transforms).
>>>
>>> In the preserve mode, the reader conditional itself and any tagged
>>> literals
>>> within the unselected branches are returned as tagged literal data.
>>>
>>> For more information, see:
>>> http://dev.clojure.org/display/design/Reader+Conditionals
>>>
>>> * [CLJ-1424](http://dev.clojure.org/jira/browse/CLJ-1424)
>>>
>>> ### 1.3 Keyword and Symbol Construction
>>>
>>> In response to issues raised in [CLJ-1439](
>>> http://dev.clojure.org/jira/browse/CLJ-1439),
>>> several changes have been made in symbol and keyword construction:
>>>
>>> 1) The main bottleneck in construction of symbols (which also occurs
>>> inside keywords) was
>>> interning of the name and namespace strings. This interning has been
>>> removed, resulting
>>> in a performance increase.
>>>
>>> 2) Keywords are cached and keyword construction includes a cache check.
>>> A change was made
>>> to only clear the cache reference queue when there is a cache miss.
>>>
>>> ### 1.4 Warn on Boxed Math
>>>
>>> One source of performance issues is the (unintended) use of arithmetic
>>> operations on
>>> boxed numbers. To make detecting the presence of boxed math easier, a
>>> warning will now
>>> be emitted about boxed math if \*unchecked-math* is set to
>>> :warn-on-boxed (any truthy
>>> value will enable unchecked-math, only this specific value enables the
>>> warning).
>>>
>>> Example use:
>>>
>>>     user> (defn plus-2 [x] (+ x 2))  ;; no warning, but boxed
>>> #'user/plus-2
>>>     user> (set! *unchecked-math* :warn-on-boxed)
>>> true
>>>     user> (defn plus-2 [x] (+ x 2)) ;; now we see a warning
>>>     Boxed math warning, NO_SOURCE_PATH:10:18 - call: public static
>>> java.lang.Number
>>> clojure.lang.Numbers.unchecked_add(java.lang.Object,long).
>>>     #'user/plus-2
>>> user> (defn plus-2 [^long x] (+ x 2)) ;; use a hint to avoid boxing
>>> #'user/plus-2
>>>
>>> * [CLJ-1325](http://dev.clojure.org/jira/browse/CLJ-1325)
>>> * [CLJ-1535](http://dev.clojure.org/jira/browse/CLJ-1535)
>>> * [CLJ-1642](http://dev.clojure.org/jira/browse/CLJ-1642) (alpha6)
>>>
>>> ### 1.5 update - like update-in for first level
>>>
>>> `update` is a new function that is like update-in specifically for
>>> first-level keys:
>>>
>>>     (update m k f args...)
>>>
>>> Example use:
>>>
>>>     user> (update {:a 1} :a inc)
>>> {:a 2}
>>> user> (update {:a 1} :a + 2)
>>> {:a 3}
>>> user> (update {} :a identity)  ;; missing returns nil
>>> {:a nil}
>>>
>>> * [CLJ-1251](http://dev.clojure.org/jira/browse/CLJ-1251)
>>>
>>> ### 1.6 Faster reduce and iterator paths (alpha6)
>>>
>>> Several important Clojure functions now return sequences that also
>>> contain fast reduce() (or in some cases iterator()) paths. In many
>>> cases, the new implementations are also faster for lazy sequences
>>>
>>> * repeat - now implements IReduce
>>> * cycle - implements IReduceInit
>>> * iterate - implements IReduceInit
>>> * range - implements IReduce, specialized case handles common case of
>>> all longs
>>> * keys - iterates directly over the keys of a map, without seq or
>>> MapEntry allocation
>>> * vals - iterates directly over the vals of a map, without seq or
>>> MapEntry allocation
>>> * iterator-seq - creates a chunked sequence when previously it was
>>> unchunked
>>>
>>> Additionally, hash-maps and hash-sets now provide iterators that walk
>>> the data structure directly rather than via a sequence.
>>>
>>> A new interface (IMapIterable) for direct key and val iterators on maps
>>> was added. External data structures can use this interface to provide
>>> direct key and val iterators via keys and vals.
>>>
>>> These enhancements are particularly effective when used
>>> in tandem with transducers via transduce, sequence, into, and
>>> eduction.
>>>
>>> * [CLJ-1603](http://dev.clojure.org/jira/browse/CLJ-1603)
>>> * [CLJ-1515](http://dev.clojure.org/jira/browse/CLJ-1515)
>>> * [CLJ-1602](http://dev.clojure.org/jira/browse/CLJ-1602)
>>> * [CLJ-1669](http://dev.clojure.org/jira/browse/CLJ-1669)
>>>
>>> ### 1.7 Printing as data (alpha6)
>>>
>>> There have been enhancements in how the REPL prints values without a
>>> print-method, specifically Throwable and the fallthrough Object case.
>>> Both cases now print in a tagged literal data form that can be read
>>> by the reader.
>>>
>>> Unhandled objects print with the class, hash code, and toString:
>>>
>>> user=> *ns*
>>> #object[clojure.lang.Namespace 0x55aa628 "user"]
>>>
>>> Thrown exceptions will still be printed in the normal way by the default
>>> REPL but printing them to a stream will show a different form:
>>>
>>> user=> (/ 1 0)
>>> ArithmeticException Divide by zero  clojure.lang.Numbers.divide
>>> (Numbers.java:158)
>>> user=> (println *e)
>>> #error{:cause Divide by zero,
>>>    :via [{:type java.lang.ArithmeticException,
>>>       :message Divide by zero,
>>>   :at [clojure.lang.Numbers divide Numbers.java 158]}],
>>>    :trace
>>>      [[clojure.lang.Numbers divide Numbers.java 158]
>>>   [clojure.lang.Numbers divide Numbers.java 3808]
>>>   [user$eval5 invoke NO_SOURCE_FILE 3]
>>>   ;; elided ...
>>>   ]]}
>>>
>>> ## 2 Enhancements
>>>
>>> ### 2.1 Error messages
>>>
>>> * [CLJ-1261](http://dev.clojure.org/jira/browse/CLJ-1261)
>>>   Invalid defrecord results in exception attributed to consuming ns
>>> instead of defrecord ns
>>> * [CLJ-1169](http://dev.clojure.org/jira/browse/CLJ-1169)
>>>   Report line,column, and source in defmacro errors
>>> * [CLJ-1297](http://dev.clojure.org/jira/browse/CLJ-1297)
>>>   Give more specific hint if namespace with "-" not found to check file
>>> uses "_"
>>>
>>> ### 2.2 Documentation strings
>>>
>>> * [CLJ-1417](http://dev.clojure.org/jira/browse/CLJ-1417)
>>>   clojure.java.io/input-stream has incorrect docstring
>>> * [CLJ-1357](http://dev.clojure.org/jira/browse/CLJ-1357)
>>>   Fix typo in gen-class doc-string
>>> * [CLJ-1479](http://dev.clojure.org/jira/browse/CLJ-1479)
>>>   Fix typo in filterv example
>>> * [CLJ-1480](http://dev.clojure.org/jira/browse/CLJ-1480)
>>>   Fix typo in defmulti docstring
>>> * [CLJ-1477](http://dev.clojure.org/jira/browse/CLJ-1477)
>>>   Fix typo in deftype docstring
>>> * [CLJ-1478](http://dev.clojure.org/jira/browse/CLJ-1378)
>>>   Fix typo in clojure.main usage
>>>
>>> ### 2.3 Performance
>>>
>>> * [CLJ-1430](http://dev.clojure.org/jira/browse/CLJ-1430)
>>>   Improve performance of partial with more unrolling
>>> * [CLJ-1384](http://dev.clojure.org/jira/browse/CLJ-1384)
>>>   clojure.core/set should use transients for better performance
>>> * [CLJ-1429](http://dev.clojure.org/jira/browse/CLJ-1429)
>>>   Cache unknown multimethod value default dispatch
>>> * [CLJ-1529](http://dev.clojure.org/jira/browse/CLJ-1529)
>>>   Reduce compile times by avoiding unnecessary calls to Class.forName()
>>> * [CLJ-1546](http://dev.clojure.org/jira/browse/CLJ-1546)
>>>   vec is now faster on almost all inputs
>>> * [CLJ-1618](http://dev.clojure.org/jira/browse/CLJ-1618)
>>>   set is now faster on almost all inputs
>>>
>>> ### 2.4 Other enhancements
>>>
>>> * [CLJ-1191](http://dev.clojure.org/jira/browse/CLJ-1191)
>>>   Improve apropos to show some indication of namespace of symbols found
>>> * [CLJ-1378](http://dev.clojure.org/jira/browse/CLJ-1378)
>>>   Hints don't work with #() form of function
>>> * [CLJ-1498](http://dev.clojure.org/jira/browse/CLJ-1498)
>>>   Removes owner-thread check from transients - this check was preventing
>>> some valid usage of transients in core.async where a transient is created
>>> on one thread and then used again in another pooled thread (while still
>>> maintaining thread isolation).
>>> * [CLJ-803](http://dev.clojure.org/jira/browse/CLJ-803)
>>>   Extracted IAtom interface implemented by Atom.
>>> * [CLJ-1315](http://dev.clojure.org/jira/browse/CLJ-1315)
>>>   Don't initialize classes when importing them
>>> * [CLJ-1330](http://dev.clojure.org/jira/browse/CLJ-1330)
>>>   Class name clash between top-level functions and defn'ed ones
>>> * [CLJ-1349](http://dev.clojure.org/jira/browse/CLJ-1349)
>>>   Update to latest test.generative and add dependency on test.check
>>> * [CLJ-1546](http://dev.clojure.org/jira/browse/CLJ-1546)
>>>   vec now works with things that only implement Iterable or IReduceInit
>>> * [CLJ-1618](http://dev.clojure.org/jira/browse/CLJ-1618)
>>>   set now works with things that only implement Iterable or IReduceInit
>>> * [CLJ-1633](http://dev.clojure.org/jira/browse/CLJ-1633)
>>>   PersistentList/creator doesn't handle ArraySeqs correctly
>>> * [CLJ-1589](http://dev.clojure.org/jira/browse/CLJ-1589)  (alpha6)
>>>   Clean up unused paths in InternalReduce
>>> * [CLJ-1677](http://dev.clojure.org/jira/browse/CLJ-1677)  (alpha6)
>>>   Add setLineNumber() to LineNumberingPushbackReader
>>> * [CLJ-1667](http://dev.clojure.org/jira/browse/CLJ-1667)  (alpha6)
>>>   Change test to avoid using hard-coded socket port
>>> * [CLJ-1683](http://dev.clojure.org/jira/browse/CLJ-1683)  (alpha6)
>>>   Change reduce tests to better catch reduce without init bugs
>>>
>>> ## 3 Bug Fixes
>>>
>>> * [CLJ-1362](http://dev.clojure.org/jira/browse/CLJ-1362)
>>>   Reduce broken on some primitive vectors
>>> * [CLJ-1388](http://dev.clojure.org/jira/browse/CLJ-1388)
>>>   Equality bug on records created with nested calls to map->record
>>> * [CLJ-1274](http://dev.clojure.org/jira/browse/CLJ-1274)
>>>   Unable to set compiler options via system properties except for AOT
>>> compilation
>>> * [CLJ-1241](http://dev.clojure.org/jira/browse/CLJ-1241)
>>>   NPE when AOTing overrided clojure.core functions
>>> * [CLJ-1185](http://dev.clojure.org/jira/browse/CLJ-1185)
>>>   reductions does not check for reduced value
>>> * [CLJ-1039](http://dev.clojure.org/jira/browse/CLJ-1039)
>>>   Using def with metadata {:type :anything} throws ClassCastException
>>> during printing
>>> * [CLJ-887](http://dev.clojure.org/jira/browse/CLJ-887)
>>>   Error when calling primitive functions with destructuring in the arg
>>> vector
>>> * [CLJ-823](http://dev.clojure.org/jira/browse/CLJ-823)
>>>   Piping seque into seque can deadlock
>>> * [CLJ-738](http://dev.clojure.org/jira/browse/CLJ-738)
>>>   <= is incorrect when args include Double/NaN
>>> * [CLJ-1408](http://dev.clojure.org/jira/browse/CLJ-1408)
>>>   Make cached string value of Keyword and Symbol transient
>>> * [CLJ-1466](http://dev.clojure.org/jira/browse/CLJ-1466)
>>>   clojure.core/bean should implement Iterable
>>> * [CLJ-1578](http://dev.clojure.org/jira/browse/CLJ-1578)
>>>   Make refer of Clojure core function not throw exception on reload
>>> * [CLJ-1501](http://dev.clojure.org/jira/browse/CLJ-1501)
>>>   LazySeq equals() should not use equiv() logic
>>> * [CLJ-1572](http://dev.clojure.org/jira/browse/CLJ-1572)
>>>   into (and other fns that rely on reduce) require only IReduceInit
>>> * [CLJ-1619](http://dev.clojure.org/jira/browse/CLJ-1619)
>>>   PersistentVector now directly implements reduce without init
>>> * [CLJ-1580](http://dev.clojure.org/jira/browse/CLJ-1580)
>>>   Transient collections should guarantee thread visibility
>>> * [CLJ-1590](http://dev.clojure.org/jira/browse/CLJ-1590)
>>>   Some IReduce/IReduceInit implementors don't respect reduced
>>> * [CLJ-979](http://dev.clojure.org/jira/browse/CLJ-979)
>>>   Clojure resolves to wrong deftype classes when AOT compiling or
>>> reloading
>>> * [CLJ-1636](http://dev.clojure.org/jira/browse/CLJ-1636) (alpha6)
>>>   Fix intermittent SeqIterator problem by removing use of this as a
>>> sentinel
>>> * [CLJ-1637](http://dev.clojure.org/jira/browse/CLJ-1636) (alpha6)
>>>   Fix regression from CLJ-1546 that broke vec on MapEntry
>>> * [CLJ-1663](http://dev.clojure.org/jira/browse/CLJ-1663) (alpha6)
>>>   Fix regression from CLJ-979 for DynamicClassLoader classloader
>>> delegation
>>> * [CLJ-1604](http://dev.clojure.org/jira/browse/CLJ-1604) (alpha6)
>>>   Fix error from AOT'ed code defining a var with a clojure.core symbol
>>> name
>>> * [CLJ-1561](http://dev.clojure.org/jira/browse/CLJ-1561) (alpha6)
>>>   Fix incorrect line number reporting for error locations
>>> * [CLJ-1568](http://dev.clojure.org/jira/browse/CLJ-1568) (alpha6)
>>>   Fix incorrect line number reporting for error locations
>>> * [CLJ-1638](http://dev.clojure.org/jira/browse/CLJ-1638) (alpha6)
>>>   Fix regression from CLJ-1546 removed PersistentVector.create(List)
>>> method
>>> * [CLJ-1681](http://dev.clojure.org/jira/browse/CLJ-1681) (alpha6)
>>>   Fix regression from CLJ-1248 (1.6) in reflection warning with literal
>>> nil argument
>>>
>>>
>>>
>>>
>>> Sean Corfield -- (904) 302-SEAN
>>> An Architect's View -- http://corfield.org/
>>>
>>> "Perfection is the enemy of the good."
>>> -- Gustave Flaubert, French realist novelist (1821-1880)
>>>
>>>
>>>
>>>  --
>>> You received this message because you are subscribed to the Google
>>> Groups "Clojure Dev" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to clojure-dev+unsubscr...@googlegroups.com.
>>> To post to this group, send email to clojure-...@googlegroups.com.
>>> Visit this group at http://groups.google.com/group/clojure-dev.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>  --
>> You received this message because you are subscribed to the Google Groups
>> "Clojure Dev" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to clojure-dev+unsubscr...@googlegroups.com.
>> To post to this group, send email to clojure-...@googlegroups.com.
>> Visit this group at http://groups.google.com/group/clojure-dev.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Clojure Dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure-dev+unsubscr...@googlegroups.com.
> To post to this group, send email to clojure-...@googlegroups.com.
> Visit this group at http://groups.google.com/group/clojure-dev.
> 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.

Reply via email to