reduce can be terminated via (reduced x), first cut at reduce lib
reduce can be terminated via (reduced x), first cut at reduce lib
removed core.reduce for the moment due to literal and figurative backwardness - will revisit with fork/join in play.
better vector iterators
added parallel fold
build-time depedency for jsr166

Signed-off-by: Rich Hickey <richhickey@gmail.com>
added reducers
Compile-time dispatch usage of jsr166y vs. bundled FJ.

Signed-off-by: Rich Hickey <richhickey@gmail.com>
doc fix for Java 7 support
Implement clojure.core.reducers/mapcat.

Signed-off-by: Rich Hickey <richhickey@gmail.com>
Add initial reducers tests.

Signed-off-by: Rich Hickey <richhickey@gmail.com>
finish flatten refactoring
make j.u.Collections print-readably (pr, prn) like their Clojure variants, print* and *print-dup* behavior unchanged
Make nth on subvec throw exception for negative indices

Signed-off-by: Stuart Halloway <stu@thinkrelevance.com>
Improved if-let error message, fixes CLJ-103

Signed-off-by: Stuart Halloway <stu@thinkrelevance.com>
add tests for complement, constantly, juxt, partial
Document that vec will alias Java arrays
Make bigdec work on clojure.lang.BigInt args
Clarify doc strings of sort and sort-by: they will modify Java array arguments

Signed-off-by: Stuart Halloway <stu@thinkrelevance.com>
CLJ-975: test reproducing issue.

Only 4th case is failing.
3rd case is using also nested destructuring with :as using same
symbol, but order is different than in 4th case.

Signed-off-by: Stuart Halloway <stu@thinkrelevance.com>