|
2526 | 2526 | (if (seq? coll) coll
|
2527 | 2527 | (or (seq coll) ())))
|
2528 | 2528 | ([xform coll]
|
2529 |
| - (clojure.lang.LazyTransformer/create xform coll)) |
| 2529 | + (or (clojure.lang.RT/chunkIteratorSeq |
| 2530 | + (clojure.lang.TransformerIterator/create xform (clojure.lang.RT/iter coll))) |
| 2531 | + ())) |
2530 | 2532 | ([xform coll & colls]
|
2531 |
| - (clojure.lang.LazyTransformer/createMulti xform (to-array (cons coll colls))))) |
| 2533 | + (or (clojure.lang.RT/chunkIteratorSeq |
| 2534 | + (clojure.lang.TransformerIterator/createMulti |
| 2535 | + xform |
| 2536 | + (map #(clojure.lang.RT/iter %) (cons coll colls)))) |
| 2537 | + ()))) |
2532 | 2538 |
|
2533 | 2539 | (defn every?
|
2534 | 2540 | "Returns true if (pred x) is logical true for every x in coll, else
|
|
5473 | 5479 | {:added "1.0"
|
5474 | 5480 | :static true}
|
5475 | 5481 | [iter]
|
5476 |
| - (clojure.lang.IteratorSeq/create iter)) |
| 5482 | + (clojure.lang.RT/chunkIteratorSeq iter)) |
5477 | 5483 |
|
5478 | 5484 | (defn enumeration-seq
|
5479 | 5485 | "Returns a seq on a java.util.Enumeration"
|
|
7320 | 7326 |
|
7321 | 7327 | (deftype Eduction [xform coll]
|
7322 | 7328 | Iterable
|
7323 |
| - (iterator [_] (.iterator ^java.util.Collection (sequence xform coll))) |
7324 |
| - |
7325 |
| - clojure.lang.Seqable |
7326 |
| - (seq [_] (seq (sequence xform coll))) |
| 7329 | + (iterator [_] |
| 7330 | + (clojure.lang.TransformerIterator/create xform (clojure.lang.RT/iter coll))) |
7327 | 7331 |
|
7328 | 7332 | clojure.lang.IReduceInit
|
7329 | 7333 | (reduce [_ f init]
|
|
7333 | 7337 | clojure.lang.Sequential)
|
7334 | 7338 |
|
7335 | 7339 | (defn eduction
|
7336 |
| - "Returns a reducible/iterable/seqable application of |
7337 |
| - the transducer to the items in coll. Note that these applications |
7338 |
| - will be performed every time reduce/iterator/seq is called." |
7339 |
| - {:added "1.7"} |
7340 |
| - [xform coll] |
7341 |
| - (Eduction. xform coll)) |
| 7340 | + "Returns a reducible/iterable application of the transducers |
| 7341 | + to the items in coll. Transducers are applied in order as if |
| 7342 | + combined with comp. Note that these applications will be |
| 7343 | + performed every time reduce/iterator is called." |
| 7344 | + {:arglists '([xform* coll]) |
| 7345 | + :added "1.7"} |
| 7346 | + [& xforms] |
| 7347 | + (Eduction. (apply comp (butlast xforms)) (last xforms))) |
7342 | 7348 |
|
7343 | 7349 | (defmethod print-method Eduction [c, ^Writer w]
|
7344 | 7350 | (if *print-readably*
|
|
0 commit comments