Pattern Calculus Computing with Functions and Structures

Over time, basic research tends to lead to specialization – increasingly narrow t- ics are addressed by increasingly focussed communities, publishing in increasingly con ned workshops and conferences, discussing increasingly incremental contri- tions. Alr

  • PDF / 1,908,611 Bytes
  • 217 Pages / 439.37 x 666.142 pts Page_size
  • 56 Downloads / 216 Views

DOWNLOAD

REPORT


Barry Jay

Pattern Calculus Computing with Functions and Structures

123

Dr. Barry Jay University of Technology, Sydney Faculty of Engineering and Information Technology School of Software Broadway NSW 2007 Australia [email protected]

ISBN 978-3-540-89184-0 e-ISBN 978-3-540-89185-7 DOI 10.1007/978-3-540-89185-7 Springer Dordrecht Heidelberg London New York Library of Congress Control Number: 2009926961 ACM Computing Classification (1998): D.1, D.2, D.3, F.3, F.4. c Springer-Verlag Berlin Heidelberg 2009  This work is subject to copyright. All rights are reserved, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilm or in any other way, and storage in data banks. Duplication of this publication or parts thereof is permitted only under the provisions of the German Copyright Law of September 9, 1965, in its current version, and permission for use must always be obtained from Springer. Violations are liable to prosecution under the German Copyright Law. The use of general descriptive names, registered names, trademarks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. Cover design: K¨unkelLopka, GmbH Printed on acid-free paper Springer is part of Springer Science+Business Media (www.springer.com)

To my parents

Foreword

Over time, basic research tends to lead to specialization – increasingly narrow topics are addressed by increasingly focussed communities, publishing in increasingly confined workshops and conferences, discussing increasingly incremental contributions. Already the community of programming languages is split into various subcommunities addressing different aspects and paradigms (functional, imperative, relational, and object-oriented). Only a few people manage to maintain a broader view, and even fewer step back in order to gain an understanding about the basic principles, their interrelation, and their impact in a larger context. The pattern calculus is the result of a profound re-examination of a 50-year development. It attempts to provide a unifying approach, bridging the gaps between different programming styles and paradigms according to a new slogan – computation is pattern matching. It is the contribution of this book to systematically and elegantly present and evaluate the power of pattern matching as the guiding paradigm of programming. Patterns are dynamically generated, discovered, passed, applied, and automatically adapted, based on pattern matching and rewriting technology, which allows one to elegantly relate things as disparate as functions and data structures. Of course, pattern matching is not new. It underlies term rewriting – it is, for example, incorporated in, typically functional, programming languages, like Standard ML – but it has never been pursued as the basis of a unifying framework for progra