Functional Programming and Parallel Graph Rewriting
Addison Wesley (Publisher)
Published in April 1993
Book
Paperback/Softback
592 pages
978-0-201-41663-3 (ISBN)
Description
This is an introduction to the techniques of functional programming, the associated computational models and the implementation of functional programming languages on both sequential and parallel machines. The book presents the features of functional programming languages, using Miranda as an example language. It focuses on an alternative computational model - Graph Rewriting Systems. The book demonstrates and discusses the potential power of concurrent functional programming and the implementation on loosely coupled parallel architectures. All the chapters include a summary and exercises.
More details
Language
English
Place of publication
Harlow
United Kingdom
Publishing group
Pearson Education Limited
Target group
College/higher education
Professional and scholarly
Illustrations
bibliography, index
Dimensions
Height: 234 mm
Width: 156 mm
Weight
964 gr
ISBN-13
978-0-201-41663-3 (9780201416633)
Copyright in bibliographic data is held by Nielsen Book Services Limited or its licensors: all rights reserved.
Schweitzer Classification
Persons
Content
Part 1 Functional programming: basic concepts - why functional programming?, functions in mathematics, a functional programme, the evaluation of a functional programme, functions with guarded equations and patterns, data structures, higher order functions and currying, correctness proof of functional programmes, programme examples; advanced concepts - Miranda - defining functions, pre-defined data structures, the type system, user-defined data structures and their types, the use of functions as basic building blocks, interactive programmes, top-down functional programming. Part 2 Models of computation: Lambda calculus - Lambda expressions, reduction rules of Lambda expressions, reduction sequences and normal forms, properties of Lambda calculus, reduction strategies, properties of subclasses of the Lambda calculus, Lambda calculus as a basis for implementations; term rewriting systems - TRS's, rewriting with a TRS, reduction sequences and normal forms, properties of TRS's, reduction strategies, orthogonal TRS's, priority rewrite systems, TRS's as a basis for functional languages, TRS's as a basis for implementations; graph rewriting systems - extending TRS's to GRS's, GRS's, rewriting with a GRS, reduction sequences and normal forms, shorthand form, properties of GRS's, reduction strategies, term graph rewriting, generalized graph rewriting systems, GRS's as a basis for functional languages, GRS's as a basis for implementations. Part 3 Analysis of functional programmes: type assignment systems - type assignment for Lambda calculus, polymorphism and recursion, type assignment for term rewriting systems; strictness analysis - strictness, abstract interpretation, basic domain theory, strictness analysis using abstract interpretation, analyzing function definitions, analyzing non-flat domains, abstract reduction, strictness analysis using abstract reduction. (Part contents).