Hacker News new | past | comments | ask | show | jobs | submit login

I'm aware of the differences but writing your code in a functional / reactive style makes parallelism much easier.

List.map can be safely parallelized in a functional language where as it cannot in an imperative language. That's what I'm getting at.

In a functional language (lets say haskell) you could switch the implementation of map to a parallel one and the community would probably accept it because there are a few edge cases involving doing something with a monad where it would break but 99% of code would work. If you did the same thing in Java/C/C++/C#/Python/Ruby it would break massive amounts of code.

In theory they have absolutely nothing to do with each other, but in practice they have a lot to do with each other.




The edge cases would involve unsafePerformIO - you can't use map with functions in a monad, that's what you have mapM for :)




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

Search: