Practical Foundations for Programming Languages

Practical Foundations for Programming Languages
Title Practical Foundations for Programming Languages PDF eBook
Author Robert Harper
Publisher Cambridge University Press
Pages 513
Release 2016-04-04
Genre Computers
ISBN 1107150302

Download Practical Foundations for Programming Languages Book in PDF, Epub and Kindle

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

Types and Programming Languages

Types and Programming Languages
Title Types and Programming Languages PDF eBook
Author Benjamin C. Pierce
Publisher MIT Press
Pages 656
Release 2002-01-04
Genre Computers
ISBN 9780262162098

Download Types and Programming Languages Book in PDF, Epub and Kindle

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.

Practical Foundations of Mathematics

Practical Foundations of Mathematics
Title Practical Foundations of Mathematics PDF eBook
Author Paul Taylor
Publisher Cambridge University Press
Pages 590
Release 1999-05-13
Genre Mathematics
ISBN 9780521631075

Download Practical Foundations of Mathematics Book in PDF, Epub and Kindle

This book is about the basis of mathematical reasoning both in pure mathematics itself (particularly algebra and topology) and in computer science (how and what it means to prove correctness of programs). It contains original material and original developments of standard material, so it is also for professional researchers, but as it deliberately transcends disciplinary boundaries and challenges many established attitudes to the foundations of mathematics, the reader is expected to be open minded about these things.

Concepts in Programming Languages

Concepts in Programming Languages
Title Concepts in Programming Languages PDF eBook
Author John C. Mitchell
Publisher Cambridge University Press
Pages 546
Release 2003
Genre Computers
ISBN 9780521780988

Download Concepts in Programming Languages Book in PDF, Epub and Kindle

A comprehensive undergraduate textbook covering both theory and practical design issues, with an emphasis on object-oriented languages.

Foundations of Object-oriented Languages

Foundations of Object-oriented Languages
Title Foundations of Object-oriented Languages PDF eBook
Author Kim B. Bruce
Publisher MIT Press
Pages 416
Release 2002
Genre Computers
ISBN 9780262025232

Download Foundations of Object-oriented Languages Book in PDF, Epub and Kindle

A presentation of the formal underpinnings of object-oriented programming languages.

Foundations of Programming Languages

Foundations of Programming Languages
Title Foundations of Programming Languages PDF eBook
Author Kent D. Lee
Publisher Springer
Pages 365
Release 2015-01-19
Genre Computers
ISBN 3319133144

Download Foundations of Programming Languages Book in PDF, Epub and Kindle

This clearly written textbook introduces the reader to the three styles of programming, examining object-oriented/imperative, functional, and logic programming. The focus of the text moves from highly prescriptive languages to very descriptive languages, demonstrating the many and varied ways in which we can think about programming. Designed for interactive learning both inside and outside of the classroom, each programming paradigm is highlighted through the implementation of a non-trivial programming language, demonstrating when each language may be appropriate for a given problem. Features: includes review questions and solved practice exercises, with supplementary code and support files available from an associated website; provides the foundations for understanding how the syntax of a language is formally defined by a grammar; examines assembly language programming using CoCo; introduces C++, Standard ML, and Prolog; describes the development of a type inference system for the language Small.

The Formal Semantics of Programming Languages

The Formal Semantics of Programming Languages
Title The Formal Semantics of Programming Languages PDF eBook
Author Glynn Winskel
Publisher MIT Press
Pages 388
Release 1993-02-05
Genre Computers
ISBN 9780262731034

Download The Formal Semantics of Programming Languages Book in PDF, Epub and Kindle

The Formal Semantics of Programming Languages provides the basic mathematical techniques necessary for those who are beginning a study of the semantics and logics of programming languages. These techniques will allow students to invent, formalize, and justify rules with which to reason about a variety of programming languages. Although the treatment is elementary, several of the topics covered are drawn from recent research, including the vital area of concurency. The book contains many exercises ranging from simple to miniprojects.Starting with basic set theory, structural operational semantics is introduced as a way to define the meaning of programming languages along with associated proof techniques. Denotational and axiomatic semantics are illustrated on a simple language of while-programs, and fall proofs are given of the equivalence of the operational and denotational semantics and soundness and relative completeness of the axiomatic semantics. A proof of Godel's incompleteness theorem, which emphasizes the impossibility of achieving a fully complete axiomatic semantics, is included. It is supported by an appendix providing an introduction to the theory of computability based on while-programs. Following a presentation of domain theory, the semantics and methods of proof for several functional languages are treated. The simplest language is that of recursion equations with both call-by-value and call-by-name evaluation. This work is extended to lan guages with higher and recursive types, including a treatment of the eager and lazy lambda-calculi. Throughout, the relationship between denotational and operational semantics is stressed, and the proofs of the correspondence between the operation and denotational semantics are provided. The treatment of recursive types - one of the more advanced parts of the book - relies on the use of information systems to represent domains. The book concludes with a chapter on parallel programming languages, accompanied by a discussion of methods for specifying and verifying nondeterministic and parallel programs.