Logical Structures for Functional Languages.
Abstract
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)
Document Details
- Document Type
- Technical Report
- Publication Date
- Feb 01, 1986
- Accession Number
- ADA169368
Entities
People
- Michael J. Beckerle
Organizations
- Massachusetts Institute of Technology