4 ms·
The operators don't have to be verifiably associative -- I'm pretty sure that's impossible to verify, in general, thanks to the halting problem -- but it would
by pjscott 16y ago
The operators don't have to be verifiably associative -- I'm pretty sure that's impossible to verify, in general, thanks to the halting problem -- but it would be nice to be able to declare operators associative.
Clojure looks like it could easily be made to support the kind of thing Steele is talking about: its immutable vectors are implemented as trees of array chunks, to which you could apply an associative operation in parallel.
- scottjad 16y agohttp://incanter.org/downloads/fjclj.pdf http://incanter.org/downloads/fjclj.pdf Slides of "From Concurrency to Parallelism: an illustrated guide to multi-core parallelism in Clojure" by David Liebke at the first Clojure Conj. Video will eventually be up at clojure.blip.tv
- riffraff 16y agoaren't verification and definition of associative operators two different problems? I mean, while you can't generally prove that an operator is associative, you can have probably tell that they are associative by construction.
- btilly 16y agoI mean, while you can't generally prove that an operator is associative, you can have probably tell that they are associative by construction. From the construction of matrix multiplication, it is far from obvious that it is associative. And this is a simple example.