Parallel Execution Models of Declarative Languages

Abstract

There are many differences in the imperative and declarative styles of programming. One of them is that declarative languages can supply implicit parallelism. Since there is a great demand for declarative languages and there is a need to improve their power and efficiency, intensive research work aimed at exploiting the implicit parallelism available in these languages. In this study the most important parallel execution models of logic and functional languages are surveyed. The source of parallelism is explained, the most common problems and their solutions are introduced regarding the type of parallelism, scheduling, granularity, variable handling, etc., and some of the successful implementation techniques are summarized.