Get Free Shipping on orders over $79
Pattern Calculus : Computing with Functions and Structures - Barry Jay

Pattern Calculus

Computing with Functions and Structures

By: Barry Jay

Paperback | 6 November 2014

At a Glance

Paperback


$259.75

or 4 interest-free payments of $64.94 with

 or 

Ships in 5 to 7 business days

The pattern calculus is a new foundation for computation, in which the expressive power of functions and of data structures are combined within pattern-matching functions. The best existing foundations focus on either functions, as in the lambda-calculus, or on data structures, as in Turing machines, or on compromises involving both, as in object-orientation. By contrast, a small typed pattern calculus is able to support all the main programming styles, including functional, imperative, object-oriented and query-based styles, and there is evidence that it can support a language for Web services, able to exploit data structures about which almost nothing is known. The book is divided into three parts, on terms, types and programs, and contains many new results. Part I introduces static and then dynamic pattern calculus. The former supports path polymorphic functions, able to traverse arbitrary paths through data structures. It also shows how Lisp is more than just lambda-calculus. The dynamic calculus allows any term to be a pattern, so that patterns can be discovered, combined and simplified on the fly. Part II supports a family of type systems for pattern calculi that build on novel typings of lambda-calculus. The type system for query calculus allows database queries to be applied uniformly to arbitrary data structures, while still guaranteeing that evaluation terminates. Subtyping and type parameters combine to produce type inequalities, whose solutions provide an expressive account of object-orientation. Also, typing can be made implicit, which simplifies implementation. Part III realises all these ideas in a new programming language, bondi, where the various programming styles can be combined, including algebraic data types and object-oriented classes. This book is useful for researchers with an interest in the foundations of computing, programming language design, the integration of existing programming styles, or the development of new programming styles. The reader is supported throughout with proofs and examples, both in text and in bondi, the source code of which is freely available online.
Industry Reviews
From the reviews:

"In this book the author will make you have second thoughts about the possibility and desirability of compiling away pattern matching ... It is amazing that the dynamic pattern calculus is syntactically almost as simple as the pure lambda-calculus, yet it is much more expressive." (Eugenio Moggi, University of Genoa)

"More than anyone else, he has systematically explored both the theory and practice of pattern matching. More importantly, the knowledge thus gained has been largely transcribed into this book. Carefully written, it concisely explains the concepts surrounding the integration of pattern matching into both the operational semantics and the type system of two programming paradigms--functional and object-oriented. ... The audience for this book is researchers in programming language design; for them, I highly recommend this book." (Jacques Carette, ACM Computing Reviews, January, 2010)

"This work brings a new perspective for a theory that would unify the driving forces behind the main sub-groups of programming languages ... . The book addresses final year undergraduates, graduates from a research-oriented master and a broader range of specialists, experts in fields related to the foundation of computation. ... the perspective exposed here can be of great use for specialists working in the design of programming languages or in the design of tools and Web services ... ." (Mirel Cosulschi, Zentralblatt MATH, Vol. 1215, 2011)

Other Editions and Formats

Hardcover

Published: 12th August 2009

More in Computer Programming & Software Development

Coding For Dummies, All New Edition : For Dummies (Computer/Tech) - Paul McFedries
Addiction by Design : Machine Gambling in Las Vegas - Natasha Dow Schll
The C Programming Language : Prentice Hall Software - Brian Kernighan

RRP $107.04

$72.99

32%
OFF
Coding For Kids For Dummies : For Kids for Dummies - Camille McCue
Python All-in-One For Dummies : 3rd Edition - John C. Shovic

RRP $74.95

$55.75

26%
OFF
The Art of Game Design : A Book of Lenses, Third Edition - Jesse  Schell
Web Engineering : Theory and Practice - Jeremiah Downey
The Essence of Software Engineering - Cersei Page
Introduction to Programming Languages - Gordon Hurley
Typesetting Mathematics With Latex - Robert Legato
Practical Probabilistic Programming - Stefan Nordin
Practical Probabilistic Programming - Stefan Nordin
C# 12 in a Nutshell : The Definitive Reference - Joseph Albahari

RRP $133.00

$64.75

51%
OFF