Theories of Programming Languages

Theories of Programming Languages
Author :
Publisher : Cambridge University Press
Total Pages : 514
Release :
ISBN-10 : 9781139936255
ISBN-13 : 1139936255
Rating : 4/5 (55 Downloads)

Synopsis Theories of Programming Languages by : John C. Reynolds

First published in 1998, this textbook is a broad but rigourous survey of the theoretical basis for the design, definition and implementation of programming languages and of systems for specifying and proving programme behaviour. Both imperative and functional programming are covered, as well as the ways of integrating these aspects into more general languages. Recognising a unity of technique beneath the diversity of research in programming languages, the author presents an integrated treatment of the basic principles of the subject. He identifies the relatively small number of concepts, such as compositional semantics, binding structure, domains, transition systems and inference rules, that serve as the foundation of the field. Assuming only knowledge of elementary programming and mathematics, this text is perfect for advanced undergraduate and beginning graduate courses in programming language theory and also will appeal to researchers and professionals in designing or implementing computer languages.

Introduction to the Theory of Programming Languages

Introduction to the Theory of Programming Languages
Author :
Publisher : Springer Science & Business Media
Total Pages : 102
Release :
ISBN-10 : 9780857290762
ISBN-13 : 0857290762
Rating : 4/5 (62 Downloads)

Synopsis Introduction to the Theory of Programming Languages by : Gilles Dowek

The design and implementation of programming languages, from Fortran and Cobol to Caml and Java, has been one of the key developments in the management of ever more complex computerized systems. Introduction to the Theory of Programming Languages gives the reader the means to discover the tools to think, design, and implement these languages. It proposes a unified vision of the different formalisms that permit definition of a programming language: small steps operational semantics, big steps operational semantics, and denotational semantics, emphasising that all seek to define a relation between three objects: a program, an input value, and an output value. These formalisms are illustrated by presenting the semantics of some typical features of programming languages: functions, recursivity, assignments, records, objects, ... showing that the study of programming languages does not consist of studying languages one after another, but is organized around the features that are present in these various languages. The study of these features leads to the development of evaluators, interpreters and compilers, and also type inference algorithms, for small languages.

Concepts in Programming Languages

Concepts in Programming Languages
Author :
Publisher : Cambridge University Press
Total Pages : 546
Release :
ISBN-10 : 0521780985
ISBN-13 : 9780521780988
Rating : 4/5 (85 Downloads)

Synopsis Concepts in Programming Languages by : John C. Mitchell

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

A Practical Theory of Programming

A Practical Theory of Programming
Author :
Publisher : Springer Science & Business Media
Total Pages : 257
Release :
ISBN-10 : 9781441985965
ISBN-13 : 1441985964
Rating : 4/5 (65 Downloads)

Synopsis A Practical Theory of Programming by : Eric C.R. Hehner

There are several theories of programming. The first usable theory, often called "Hoare's Logic", is still probably the most widely known. In it, a specification is a pair of predicates: a precondition and postcondition (these and all technical terms will be defined in due course). Another popular and closely related theory by Dijkstra uses the weakest precondition predicate transformer, which is a function from programs and postconditions to preconditions. lones's Vienna Development Method has been used to advantage in some industries; in it, a specification is a pair of predicates (as in Hoare's Logic), but the second predicate is a relation. Temporal Logic is yet another formalism that introduces some special operators and quantifiers to describe some aspects of computation. The theory in this book is simpler than any of those just mentioned. In it, a specification is just a boolean expression. Refinement is just ordinary implication. This theory is also more general than those just mentioned, applying to both terminating and nonterminating computation, to both sequential and parallel computation, to both stand-alone and interactive computation. And it includes time bounds, both for algorithm classification and for tightly constrained real-time applications.

Functional Programming

Functional Programming
Author :
Publisher : Addison-Wesley Professional
Total Pages : 616
Release :
ISBN-10 : UOM:39015017699474
ISBN-13 :
Rating : 4/5 (74 Downloads)

Synopsis Functional Programming by : Bruce J. MacLennan

Design Concepts in Programming Languages

Design Concepts in Programming Languages
Author :
Publisher : MIT Press
Total Pages : 1347
Release :
ISBN-10 : 9780262303156
ISBN-13 : 0262303159
Rating : 4/5 (56 Downloads)

Synopsis Design Concepts in Programming Languages by : Franklyn Turbak

Key ideas in programming language design and implementation explained using a simple and concise framework; a comprehensive introduction suitable for use as a textbook or a reference for researchers. Hundreds of programming languages are in use today—scripting languages for Internet commerce, user interface programming tools, spreadsheet macros, page format specification languages, and many others. Designing a programming language is a metaprogramming activity that bears certain similarities to programming in a regular language, with clarity and simplicity even more important than in ordinary programming. This comprehensive text uses a simple and concise framework to teach key ideas in programming language design and implementation. The book's unique approach is based on a family of syntactically simple pedagogical languages that allow students to explore programming language concepts systematically. It takes as premise and starting point the idea that when language behaviors become incredibly complex, the description of the behaviors must be incredibly simple. The book presents a set of tools (a mathematical metalanguage, abstract syntax, operational and denotational semantics) and uses it to explore a comprehensive set of programming language design dimensions, including dynamic semantics (naming, state, control, data), static semantics (types, type reconstruction, polymporphism, effects), and pragmatics (compilation, garbage collection). The many examples and exercises offer students opportunities to apply the foundational ideas explained in the text. Specialized topics and code that implements many of the algorithms and compilation methods in the book can be found on the book's Web site, along with such additional material as a section on concurrency and proofs of the theorems in the text. The book is suitable as a text for an introductory graduate or advanced undergraduate programming languages course; it can also serve as a reference for researchers and practitioners.

Types and Programming Languages

Types and Programming Languages
Author :
Publisher : MIT Press
Total Pages : 656
Release :
ISBN-10 : 0262162091
ISBN-13 : 9780262162098
Rating : 4/5 (91 Downloads)

Synopsis Types and Programming Languages by : Benjamin C. Pierce

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.

Programming Language Fundamentals by Example

Programming Language Fundamentals by Example
Author :
Publisher : CRC Press
Total Pages : 189
Release :
ISBN-10 : 9781000654646
ISBN-13 : 1000654648
Rating : 4/5 (46 Downloads)

Synopsis Programming Language Fundamentals by Example by : D.E. Stevenson

Written in an informal yet informative style, Programming Language Fundamentals by Example uses active learning techniques, giving students a professional learning experience based on professional methods applied with professional standards. It provides an understanding of the many languages and notations used in computer science, the formal models

Type Theory and Formal Proof

Type Theory and Formal Proof
Author :
Publisher : Cambridge University Press
Total Pages : 465
Release :
ISBN-10 : 9781316061084
ISBN-13 : 1316061086
Rating : 4/5 (84 Downloads)

Synopsis Type Theory and Formal Proof by : Rob Nederpelt

Type theory is a fast-evolving field at the crossroads of logic, computer science and mathematics. This gentle step-by-step introduction is ideal for graduate students and researchers who need to understand the ins and outs of the mathematical machinery, the role of logical rules therein, the essential contribution of definitions and the decisive nature of well-structured proofs. The authors begin with untyped lambda calculus and proceed to several fundamental type systems, including the well-known and powerful Calculus of Constructions. The book also covers the essence of proof checking and proof development, and the use of dependent type theory to formalise mathematics. The only prerequisite is a basic knowledge of undergraduate mathematics. Carefully chosen examples illustrate the theory throughout. Each chapter ends with a summary of the content, some historical context, suggestions for further reading and a selection of exercises to help readers familiarise themselves with the material.

Practical Foundations for Programming Languages

Practical Foundations for Programming Languages
Author :
Publisher : Cambridge University Press
Total Pages : 513
Release :
ISBN-10 : 9781107150300
ISBN-13 : 1107150302
Rating : 4/5 (00 Downloads)

Synopsis Practical Foundations for Programming Languages by : Robert Harper

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