Cleanup internal-reduce implementation

Description

Currently internal-reduce provides an implementation for ArraySeq and the ArraySeq_* prim classes.
Since those classes implement IReduce the current patch makes instances of those classes fallback on coll-reduce's IReduce impl (that simply invokes .reduce)

This change is desiderable because it removes unnecessary duplicated code, reducing the implementation surface and making it easier to follow reduce's code path. In addition to ArraySeq there will be (based on other tickets) more seq impls that also IReduce, so it would be good to re-route back through coll-reduce when we get combinations of potentially reducible sub-seqs.

Patch: 0001-cleanup-internal-reduce-impl.patch

  • This patch depends on the patch for CLJ-1590 since the current IReduce impl for those ArraySeq classes doesn't properly handle Reduced

Screened by: Alex Miller

Environment

None

Attachments

1
  • 15 Nov 2014, 01:29 PM

Activity

Show:

Alex Miller November 15, 2014 at 4:28 AM

I'm not sure whether this should be in 1.7 or not, but I'm adding it there so we can have a discussion on it regardless.

Completed

Details

Assignee

Reporter

Approval

Ok

Patch

Code

Priority

Affects versions

Fix versions

Created November 14, 2014 at 7:07 PM
Updated February 20, 2015 at 5:42 PM
Resolved February 20, 2015 at 5:42 PM