Home | Amazing | Today | Tags | Publishers | Years | Account | Search 
Pattern Calculus: Computing with Functions and Structures

Buy

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.

(HTML tags aren't allowed.)

Encyclopedia of Mind Enhancing Foods, Drugs and Nutritional Substances
Encyclopedia of Mind Enhancing Foods, Drugs and Nutritional Substances

It seems as though every day brings a new pill or potion claiming to restore mental alertness or improve memory. While many of these claims are based on factual information, many others are not. This encyclopedia of foods and drugs that are believed to improve mental performance contains information on nearly 400 nutrients, herbs, and drugs,...

Auditing Information Systems
Auditing Information Systems

Auditing Information Systems, Second Edition, explains clearly how to audit the controls and security over all types of information systems environments. The concepts and techniques in the book enable auditors, information security professionals, managers, and audit committee members of every knowledge and skill level to truly...

Mastering Autodesk Inventor 2010
Mastering Autodesk Inventor 2010
A complete tutorial for the real-world application of Autodesk Inventor, plus video instruction on DVD

Used to design everything from airplanes to appliances, Autodesk Inventor is the industry-leading 3D mechanical design software. This detailed tutorial and reference covers practical applications to help you solve design...


Management Information Systems (12th Edition)
Management Information Systems (12th Edition)

We wrote this book for business school students who want an in-depth look at how today's business firms use information technologies and systems to achieve corporate objectives. Information systems are one of the major tools available to business managers for achieving operational excellence, developing new products and services,...

iMac Portable Genius
iMac Portable Genius

The most up-to-date coverage on the latest iMac advice, tools, and shortcuts

Cool and useful tips, full-color screenshots, and savvy advice show you how to get the most out of your iMac. Fully updated to cover the iMac's latest features and capabilities, this guide is packed with indispensible information on iLife...

Spinoza's Ethics (Edinburgh Philosophical Guides)
Spinoza's Ethics (Edinburgh Philosophical Guides)

This is a guidebook to the Ethics, the major work of the seventeenthcentury philosopher Baruch Spinoza. This book differs from other introductory books on Spinoza in a number of ways. First, it does not assume that you have any philosophical background. I do not presume that you know (or remember) Descartes’ theory of substance, that...

©2021 LearnIT (support@pdfchm.net) - Privacy Policy