Clojure should support parallel operations on its data structures.
- Use the Fork/Join framework coming for Java 7
- Some work started in the par branch
- Parallel map, reduce etc
- Incorporate FJ into futures?
- Tie resources to tasks?
- currently granularity is last node of 32 leaves
- when that is wrong (too much work per step), we should go to granularity 1 (each item)
- automate this
- or just offer API-level control?
- what would that look like?
- FJ framework has backport to Java 6, but not Java 5
- Is there a way to tie ownership things now attached to threads (like STM) to FJ tasks instead?