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.)

ASP.NET Web API 2 Recipes: A Problem-Solution Approach
ASP.NET Web API 2 Recipes: A Problem-Solution Approach

ASP.NET Web API 2 Recipes provides you with the code to solve a full range of Web API problems and question marks that you might face when developing line-of-business applications. ASP.NET Web API 2 Recipes gives you an in-depth explanation for each of these scenarios and shows you how to use Web API with a vast array of...

Beaglebone Media Center
Beaglebone Media Center

A practical guide to transforming your BeagleBone into a fully functional media center

About This Book

  • Develop practical skills that are required to create media center applications using BeagleBone
  • Use the provided design toolbox that will act as a bridge between your ideas and the final...
Developing  a hapi Edge: A rich Node.js framework for apps and services
Developing a hapi Edge: A rich Node.js framework for apps and services

“Developing a hapi Edge” shows you how to build enterprise-quality web applications using the hapi service and application framework. By walking through the creation of a real web application, hapi-plugins.com, you will learn how to configure and start hapi, build out APIs, perform authentication, validation, caching, and so much...


The Language of Empire: Rome and the Idea of Empire From the Third Century BC to the Second Century AD
The Language of Empire: Rome and the Idea of Empire From the Third Century BC to the Second Century AD
The Roman Empire has been an object of fascination for the past two millennia, and the story of how a small city in central Italy came to dominate the whole of the Mediterranean basin, most of modern Europe and the lands of Asia Minor and the Middle East, has often been told. It has provided the model for European empires from Charlemagne to Queen...
Mastering Perl
Mastering Perl

Take the next step toward Perl mastery with advanced concepts that make coding easier, maintenance simpler, and execution faster. Mastering Perl isn't a collection of clever tricks, but a way of thinking about Perl programming for solving debugging, configuration, and many other real-world problems you’ll encounter...

Microsoft System Center Configuration Manager
Microsoft System Center Configuration Manager

Microsoft Configuration Manager can promote high reliability and performance for your computers and mobile devices, and this book will give you the skills to deploy it effectively using best practices.

Overview

  • Deploy highly available Configuration Manager sites and roles
  • Backup, restore,...
©2019 LearnIT (support@pdfchm.net) - Privacy Policy