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)

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Feb 01, 1986
Accession Number
ADA169368

Entities

People

  • Michael J. Beckerle

Organizations

  • Massachusetts Institute of Technology

Tags

Communities of Interest

  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Artificial Intelligence
  • Automatic
  • Classification
  • Computer Programming
  • Computer Science
  • Computers
  • Construction
  • Electrical Engineering
  • Engineering
  • Information Processing
  • Language
  • Lisp Programming Language
  • Parallel Processing
  • Parallel Processors
  • Programming Languages
  • Symbolic Programming
  • Trees (Data Structures)

Fields of Study

  • Computer science

Readers

  • Computational Linguistics
  • Systems Analysis and Design