Logical Structures for Functional Languages.
Master's thesis Jun 84-Feb 86,
MASSACHUSETTS INST OF TECH CAMBRIDGE LAB FOR COMPUTER SCIENCE
Pagination or Media Count:
Functional Programming is frequently advocated as an appropriate programming discipline for parallel processing because of the difficulty of extracting parallelism from programs written in conventional sequential programming languages. Unfortunately, the use of Functional operations often implies excessive copying or unnecessary sequentially in the access and construction of data structures. Logic Programming languages can use logical variables to manipulate data structures more easily however, parallel implementations of them are not well understood. Two new programming languages which extend Functional languages with some of the additional expressive power of logical variables for manipulation of data structures are introduced. These new languages are studied in the context of two programs which cannot be expressed efficiently in a Functional language the flat-structure problem, and the deep-append problem. The first new language allows the flat-structure problem to be solved efficiently, but loses the referential transparency of Functional languages. The second allows the deep-append problem to be solved also, but loses the property of determinancy. Keywords Theses Interpreters and Parallelism. Author
- Computer Programming and Software