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

Even if all of your functions are pure they can still have data dependence with one another. So you obviously can't parallelize foo(bar()) automatically. There are other things that can make a real mess of paraellizability too, like error checking.

Say you have some code like:

    comprehend all item in list, 
      verify(item) or errorout("failed at ", stringify(name(item)))
The compiler can't auto parallelize it because the exit condition is unknowable, at least if you want there to only be a single exit from the function.

You can get around this with even more strict requirements, but after enough of these restrictions even simple tasks start to get hard.



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

Search: