Imperative Calculi with Self Types

In this chapter we study an imperative object calculus with primitive covariant Self types. It is an extension of the first-order calculus of Chapter 11, enriched with the Self types, the variance annotations, and the quantifiers of Chapter 16. A subject

  • PDF / 27,832,266 Bytes
  • 392 Pages / 439.37 x 666.142 pts Page_size
  • 45 Downloads / 242 Views

DOWNLOAD

REPORT


Editors

David Gries Fred B. Schneider

Springer Science+Business Media, LLC

Monographs in Computer Science Abadi and Cardelli, A Theory of Objects Brzozowski and Seger, Asynchronous Circuits Selig, Geometrical Methods In Robotics Nielson [editor), ML with Concurrency Castillo, Gutierrez, and Hadi, Expert Systems and Probabilistic Network Models

Martin Abadi

Luca Cardelli

A Theory of Objects

,

Springer

Martin Abadi Luca Cardelli Systems Research Center Digital Equipment Corporation Palo Alto, CA 94301 USA

Series Editors: David Gries Department of Computer Science Cornell University Upson Hali Ithaca, NY 14853-7501 USA

Luca Cardelli (current address): Microsoft Research Cambridge, CB2 3NH

UK

Fred B. Schneider Department of Computer Science Cornell University Upson Hali Ithaca, NY 14853-7501 USA

With ni ne illustrations. Library 01 Congress Cataloging-in-Publication Data Abadi, Martin. A theory 01 objects / Martin Abadi, Luca Cardelli. p. cm. - (Monographs in computer science) Includes bibliographical relerences and index. ISBN 978-1-4612-6445-3 ISBN 978-1-4419-8598-9 (eBook) DOI 10.1007/978-1-4419-8598-9 1. Object-oriented programming (Computer science) 1. Cardelli, Luca. II. Title. III. Series. QA76.64.A22 1996 005.13'I-dc20 96-17038 Printed on acid-Iree paper.

© 1996 Springer Science+Business Media New York Originally published by Springer-Verlag New York, Inc. in 1996 Softcover reprint 01 the hardcover 1st edition 1996 AII rights reserved. This work may not be translated or copied in whole or in part without the written permission 01 the publisher (Springer Science+Business Media, LLC), except for brief excerpts in connection with reviews or scholarly analysis. Use in connectionwith any form of information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafler developed is forbidden. The use 01 general descriptive names, trade names, trademarks, etc., in this publication, even il the lormer are not especially identilied, is not to be taken as a sign that such names, as understood by the Trade Marks and Merchandise Marks Act, may accordingly be used Ireely by anyone. Production managed by Robert Wexler; manulacturing supervised by Jeffrey Taub. Camera-ready copy prepared Irom the authors' liles. Cover illustration, "Object Subject," by Luca Cardelli.

9 8 7 6 5 4 3 2 (Corrected second printing, 1998) ISBN 978-1-4612-6445-3

SPIN 10669864

Preface This book develops a theory of objects as a foundation for object-oriented languages and programming. Our theory provides explanations for object-oriented notions in terms of a few basic primitives, and can be useful for the design and understanding of programming languages. There is a well-established theory of functions, the A-calculus, that serves as a foundation for procedural languages. Our treatment of object-oriented languages largely parallels existing literature on procedural languages. However, our theory of objects is self-contained; it is the first that does not require e