Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the 'parallel' concept in Rich Hickey's transducers Strange Loop talk?

In the Strange Loop presentation on Transducers Rich Hickey mentions at a concept in a table called 'parallel'.

enter image description here

You can easily see examples of seqs and into and channels using transducers.

Now you can work out that Observables are talking about RxJava.

My Question is What is the 'parallel' concept in Rich Hickey's transducers Strange Loop talk? Is this a list of futures, or pmap or something else?

like image 215
hawkeye Avatar asked Oct 21 '14 11:10

hawkeye


1 Answers

There have been some thoughts about creating parallel transducible processes. This is being tracked as CLJ-1553. Currently we are not planning to address this in Clojure 1.7, but would like to do something in Clojure 1.8.

It is possible now to set up a reducer that uses a transducer as the bottom reduce phase (along with more traditional combiner fns) but ideally we would be able to leverage the "self-reducible" concept embodied by persistent vectors and maps to support transduce in parallel in a more natural way.

It is most likely right now that this would emerge as some sort of preduce function, but still much to be decided.

One problematic area is in dealing with kv forms - reducers made some choices there that are difficult or inconvenient with transducers so that needs to be worked through.

like image 145
Alex Miller Avatar answered Sep 21 '22 21:09

Alex Miller