Implementation of Non-Strict Functional Programming Languages - Brossura

Traub, Kenneth R.

 
9780262700429: Implementation of Non-Strict Functional Programming Languages

Sinossi

Modern "non-strict" functional programming languages are a powerful means of programming highly parallel computers, but are intrinsically difficult to compile well because decisions about ordering of subcomputations must be taken at compile time. This book represents a new technique for compiling such languages by partitioning a program into sequential threads. While the interleaving of threads can vary at run time, within each thread the order is fixed.

A program is compiled by analyzing its data dependences, and developing from that a set of partitioning constraints. These practical algorithms are founded on a new theory of data dependence and ordering within functional programs, which defines dependence graphs in terms of a rewrite-rule operational semantics for the language.

By attacking the ordering problem directly, the book departs from previous approaches that obtain partitioning as a byproduct of optimizing lazy evaluation, and cleanly separates partitioning from other code generation issues. Furthermore, the method is flexible enough to produce both lazy code and also a less restrictive "lenient" variant which allows larger threads with only a slight decrease in expressive power. Code generation and optimization are explored in depth for both uniprocessor and multiprocessor targets.

Kenneth R. Traub is a researcher with the Motorola Cambridge Research Center.

Contents: Introduction. Background - Functional Language Compilers. Lenient Evaluation. Functional Quads. Code Generation. A Syntactic Theory of Data Dependence. Dependence-Based Partitioning. Conclusion.

Le informazioni nella sezione "Riassunto" possono far riferimento a edizioni diverse di questo titolo.

Product Description

Book by Traub Kenneth R

Le informazioni nella sezione "Su questo libro" possono far riferimento a edizioni diverse di questo titolo.

Altre edizioni note dello stesso titolo

9780273088271: Functional Implementation of Lenient Programming Languages

Edizione in evidenza

ISBN 10:  0273088270 ISBN 13:  9780273088271
Casa editrice: Financial Times Prentice Hall, 1990
Brossura