Design of the CONSUL Programming Language.

Abstract

The problem of automatically exploiting parallelism in computer programs, with particular emphasis on linguistic barriers to parallelism detection is studied. Although functional languages and Prolog have many desirable characteristics in this respect, they are not entirely ideal. We therefore offer constraint-based programming as a generalization of logic programming. By virtue of the more flexible ways in which they allow relations to be defined, constraint languages support more natural descriptions of potentially parallel algorithms than do existing logic or functional languages. We introduce a prototype constraint language called CONSUL, which demonstrates features that we feel make constraint languages well-suited for general-purpose programming of multi-processors. The extra expressiveness of constraint languages comes at a price, namely that satisfaction of general constraints can be much more difficult than satisfaction of predicates for a language like Prolog. Nonetheless, we believe that effective compilers for constraint languages can be built, and we outline some ideas on which they could be based.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Feb 01, 1987
Accession Number
ADA189202

Entities

People

  • Doug Baldwin

Organizations

  • University of Rochester

Tags

Communities of Interest

  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Algorithms
  • Artificial Intelligence
  • Computations
  • Computer Programming
  • Computer Science
  • Computers
  • High Level Languages
  • Instructions
  • Language
  • Logic
  • Models
  • Parallel Computing
  • Procedural Programming Language
  • Programming Languages
  • Semantics
  • Set Theory
  • Side Effects

Fields of Study

  • Computer science

Readers

  • Artificial Intelligence
  • Educational Psychology
  • Parallel and Distributed Computing.