Cantitate/Preț
Produs

Practical Foundations for Programming Languages

Autor Robert Harper
en Limba Engleză Hardback – 3 apr 2016
This text develops a comprehensive theory of programming languages based on type systems and structural operational semantics. Language concepts are precisely defined by their static and dynamic semantics, presenting the essential tools both intuitively and rigorously while relying on only elementary mathematics. These tools are used to analyze and prove properties of languages and provide the framework for combining and comparing language features. The broad range of concepts includes fundamental data types such as sums and products, polymorphic and abstract types, dynamic typing, dynamic dispatch, subtyping and refinement types, symbols and dynamic classification, parallelism and cost semantics, and concurrency and distribution. The methods are directly applicable to language implementation, to the development of logics for reasoning about programs, and to the formal verification language properties such as type safety. This thoroughly revised second edition includes exercises at the end of nearly every chapter and a new chapter on type refinements.
Citește tot Restrânge

Preț: 48101 lei

Preț vechi: 60125 lei
-20% Nou

Puncte Express: 722

Preț estimativ în valută:
9206 9595$ 7664£

Carte tipărită la comandă

Livrare economică 06-20 ianuarie 25

Preluare comenzi: 021 569.72.76

Specificații

ISBN-13: 9781107150300
ISBN-10: 1107150302
Pagini: 512
Dimensiuni: 178 x 264 x 32 mm
Greutate: 1.08 kg
Ediția:Revizuită
Editura: Cambridge University Press
Colecția Cambridge University Press
Locul publicării:New York, United States

Cuprins

1. Judgment and rules; 2. Statics and dynamics; 3. Total functions; 4. Finite data types; 5. Types and propositions; 6. Infinite data types; 7. Variable types; 8. Partiality and recursive types; 9. Dynamic types; 10. Subtyping; 11. Dynamic dispatch; 12. Control flow; 13. Symbolic data; 14. Mutable state; 15. Parallelism; 16. Concurrency and distribution; 17. Modularity; 18. Equational reasoning; 19. Appendices.

Recenzii

Review of previous edition: 'Harper's book provides a comprehensive treatment of the foundations of computation. He touches on a surprising range of concepts that arise in language design: from simple types to polymorphism to dependent types to modules; from strict to lazy to parallel computation; and from proof techniques for reasoning about extensional behavior to practical, compositional cost models in the presence of garbage collection. More importantly, throughout the book he uses types and the principles of type theory to organize the material and help us discover the orthogonal, composable abstractions that arise naturally not only in the design of programming languages but also in logics and mathematics. This approach helps uncover the fundamental structure lurking inside programming languages of today, and provides a principled approach to the designs for tomorrow.' Greg Morrisett, Cornell University, New York
Review of previous edition: 'Starting with a mathematically simple framework and organizing principles that give type systems a central role, Bob Harper's magnum opus reveals the theory of programming languages as a coherent scientific subject with both breadth and elegance. His enormous experience, pithy views, and great good taste are evident throughout a book that deserves to become a classic.' Andrew Pitts, University of Cambridge
Review of previous edition: 'This book offers an excellent introduction to a wide range of programming language concepts. They are all uniformly and carefully explained, using techniques that are very useful in practice for both analysis and implementation of programming languages. The book is authored by one of the most prominent researchers in type theory for programming languages. The presentation is very effective and based on the author's years of experience teaching the material.' Lars Birkedal, IT University of Copenhagen

Descriere

This book unifies a broad range of programming language concepts under the framework of type systems and structural operational semantics.