Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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.



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


aren'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.


I 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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: