
Modern Languages and Concurrency Constructs 169
operations by the computer, the compiler of a functional language has more
freedom in choosing which implementation is best suited to the target plat-
form. If this target has parallel computing capabilities, then the compiler has
freedom to exploit it in the resulting executable.
In addition to the declarative programming paradigm, functional languages
often are very strict when it comes to the use of side effects. In a purely func-
tional program, side effects are prohibited. This means that issues that arise
due to side effects leading to correctness problems in concurrent programs go
away when side effects ...