On 21 February 2012 10:17, Alex Queiroz
<asandroq@gmail.com> wrote:
It's the other way around, actually. You don't have to worry about
variables aliasing each other, for instance, or can create fat
closures fearlessly. OS-level multithreading becomes child's play.
In theory, this is undoubtedly correct. In practice, I am not aware of a large body of functional programs that are much faster than their imperative equivalents (I would be very interested if someone could point me at them). The other overheads seem to overwhelm the benefits. All I've seen are edge cases and toy programs...