Parallel implementation of concurrent logic languages using graph-rewriting techniques
The formalisms of graph rewriting (reduction) and concurrent logic programming have developed quite independently from each other. In this monograph the author shows how concurrent logic languages can be implemented using graph rewriting. The author develops techniques for mapping a wide class of concurrent logic languages, including (but not limited to) Fleng, Parlog, GHC and a restricted subset of the CP family, onto Dactl. Dactl is a compiler target language based on graph reduction; thus the work reported here serves also to show the usefulness of an intermediate language for implementing declarative languages. In particular, complete translation schemes are developed that map every legal program belonging to the class of concurrent logic languages considered onto Dactl. Transformation techniques are then presented that map the generated Dactl programs onto Monstr, a subset of Dactl directly executable by the Flagship machine. Graph reduction has been used extensively for implementing functional languages, in particular those based on lazy evaluation. In this thesis the author also shows how the programmer can take advantage of the underlying graph reduction model to enhance his concurrent logic program with some capabilities found usually only in functional languages such as lazy evaluation, sharing of computation and higher-order functions. Throughout the thesis the author provides a performance analysis of our work and comparison with related ones. The thesis ends with a discussion on the adopted techniques, their pros and cons, and suggestions for further work.
- Research Organization:
- East Anglia Univ., Norwich (United Kingdom)
- OSTI ID:
- 5533843
- Resource Relation:
- Other Information: Thesis (Ph. D.)
- Country of Publication:
- United States
- Language:
- English
Similar Records
Architectural support for concurrent logic programming languages
Flat parlog: a basis for comparison