Essentials of Programming Languages, third edition
Title | Essentials of Programming Languages, third edition PDF eBook |
Author | Daniel P. Friedman |
Publisher | MIT Press |
Total Pages | 433 |
Release | 2008-04-18 |
Genre | Computers |
ISBN | 0262062798 |
A new edition of a textbook that provides students with a deep, working understanding of the essential concepts of programming languages, completely revised, with significant new material. This book provides students with a deep, working understanding of the essential concepts of programming languages. Most of these essentials relate to the semantics, or meaning, of program elements, and the text uses interpreters (short programs that directly analyze an abstract representation of the program text) to express the semantics of many essential language elements in a way that is both clear and executable. The approach is both analytical and hands-on. The book provides views of programming languages using widely varying levels of abstraction, maintaining a clear connection between the high-level and low-level views. Exercises are a vital part of the text and are scattered throughout; the text explains the key concepts, and the exercises explore alternative designs and other issues. The complete Scheme code for all the interpreters and analyzers in the book can be found online through The MIT Press web site. For this new edition, each chapter has been revised and many new exercises have been added. Significant additions have been made to the text, including completely new chapters on modules and continuation-passing style. Essentials of Programming Languages can be used for both graduate and undergraduate courses, and for continuing education courses for programmers.
Essentials of Programming Languages
Title | Essentials of Programming Languages PDF eBook |
Author | Daniel P. Friedman |
Publisher | MIT Press |
Total Pages | 424 |
Release | 2001 |
Genre | Computers |
ISBN | 9780262062176 |
This textbook offers an understanding of the essential concepts of programming languages. The text uses interpreters, written in Scheme, to express the semantics of many essential language elements in a way that is both clear and directly executable.
Essentials of Programming Languages
Title | Essentials of Programming Languages PDF eBook |
Author | Daniel P. Friedman |
Publisher | McGraw-Hill Science, Engineering & Mathematics |
Total Pages | 572 |
Release | 1992 |
Genre | Computers |
ISBN |
Friedman, Wand, and Haynes have done a landmark job... The sample interpreters in this book are outstanding models. Indeed, since they are runnable models, I'm sure that these interpreters will find themselves at the cores of many programming systems over the years. --from the foreword by Hal Abelson What really happens when a program runs? Essentials of Programming Languages teaches the fundamental concepts of programming languages through numerous short programs, or interpreters, that actually implement the features of a language. Nearly 300 exercises using these programs provide a hands-on understanding of programming principles that is hard, if not impossible, to achieve by formal study alone. In an approach that is uniquely suited to mastering a new level of programming structure, the authors derive a sequence of interpreters that begins with a high-level operational specification (close to formal semantics) and ends with what is effectively assembly language--a process involving programming transformation techniques that should be in the toolbox of every programmer. The first four chapters provide the foundation for an in-depth study of programming languages, including most of the features of Scheme, needed to run the language-processing programs of the book. The next four chapters form the core of the book, deriving a sequence of interpreters ranging from very high- to very low-level. The authors then explore variations in programming language semantics, including various parameter-passing techniques and object-oriented languages, and describe techniques for transforming interpreters that ultimately allow the interpreter to beimplemented in any low-level language. They conclude by discussing scanners and parsers and the derivation of a compiler and virtual machine from an interpreter. More on Essentials of Programming Languages
Essentials of Programming Languages, third edition
Title | Essentials of Programming Languages, third edition PDF eBook |
Author | Daniel P. Friedman |
Publisher | MIT Press |
Total Pages | 433 |
Release | 2008-04-18 |
Genre | Computers |
ISBN | 0262304090 |
A new edition of a textbook that provides students with a deep, working understanding of the essential concepts of programming languages, completely revised, with significant new material. This book provides students with a deep, working understanding of the essential concepts of programming languages. Most of these essentials relate to the semantics, or meaning, of program elements, and the text uses interpreters (short programs that directly analyze an abstract representation of the program text) to express the semantics of many essential language elements in a way that is both clear and executable. The approach is both analytical and hands-on. The book provides views of programming languages using widely varying levels of abstraction, maintaining a clear connection between the high-level and low-level views. Exercises are a vital part of the text and are scattered throughout; the text explains the key concepts, and the exercises explore alternative designs and other issues. The complete Scheme code for all the interpreters and analyzers in the book can be found online through The MIT Press web site. For this new edition, each chapter has been revised and many new exercises have been added. Significant additions have been made to the text, including completely new chapters on modules and continuation-passing style. Essentials of Programming Languages can be used for both graduate and undergraduate courses, and for continuing education courses for programmers.
Types and Programming Languages
Title | Types and Programming Languages PDF eBook |
Author | Benjamin C. Pierce |
Publisher | MIT Press |
Total Pages | 646 |
Release | 2002-01-04 |
Genre | Computers |
ISBN | 0262303825 |
A comprehensive introduction to type systems and programming languages. A type system is a syntactic method for automatically checking the absence of certain erroneous behaviors by classifying program phrases according to the kinds of values they compute. The study of type systems—and of programming languages from a type-theoretic perspective—has important applications in software engineering, language design, high-performance compilers, and security. This text provides a comprehensive introduction both to type systems in computer science and to the basic theory of programming languages. The approach is pragmatic and operational; each new concept is motivated by programming examples and the more theoretical sections are driven by the needs of implementations. Each chapter is accompanied by numerous exercises and solutions, as well as a running implementation, available via the Web. Dependencies between chapters are explicitly identified, allowing readers to choose a variety of paths through the material. The core topics include the untyped lambda-calculus, simple type systems, type reconstruction, universal and existential polymorphism, subtyping, bounded quantification, recursive types, kinds, and type operators. Extended case studies develop a variety of approaches to modeling the features of object-oriented languages.
The Scheme Programming Language
Title | The Scheme Programming Language PDF eBook |
Author | R. Kent Dybvig |
Publisher | Prentice Hall |
Total Pages | 282 |
Release | 1996 |
Genre | Computers |
ISBN |
Basic, no nonsense introduction to the programming language Scheme
Essentials of Programming Languages
Title | Essentials of Programming Languages PDF eBook |
Author | Daniel P. Friedman |
Publisher | MIT Press (MA) |
Total Pages | 536 |
Release | 1992 |
Genre | Langages de programmation |
ISBN | 9780070224438 |
"Friedman, Wand, and Haynes have done a landmark job... The sample interpreters in this book are outstanding models. Indeed, since they are runnable models, I'm sure that these interpreters will find themselves at the cores of many programming systems over the years." --from the foreword by Hal Abelson What really happens when a program runs? "Essentials of Programming Languages" teaches the fundamental concepts of programming languages through numerous short programs, or "interpreters, " that actually implement the features of a language. Nearly 300 exercises using these programs provide a hands-on understanding of programming principles that is hard, if not impossible, to achieve by formal study alone. In an approach that is uniquely suited to mastering a new level of programming structure, the authors derive a sequence of interpreters that begins with a high-level operational specification (close to formal semantics) and ends with what is effectively assembly language--a process involving programming transformation techniques that should be in the toolbox of every programmer. The first four chapters provide the foundation for an in-depth study of programming languages, including most of the features of Scheme, needed to run the language-processing programs of the book. The next four chapters form the core of the book, deriving a sequence of interpreters ranging from very high- to very low-level. The authors then explore variations in programming language semantics, including various parameter-passing techniques and object-oriented languages, and describe techniques for transforming interpreters that ultimately allow the interpreter to beimplemented in any low-level language. They conclude by discussing scanners and parsers and the derivation of a compiler and virtual machine from an interpreter. More on "Essentials of Programming Languages"