Theories of Programming Languages

Theories of Programming Languages PDF Author: John C. Reynolds
Publisher: Cambridge University Press
ISBN: 1139936255
Category : Computers
Languages : en
Pages : 514

Get Book Here

Book Description
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.

Theories of Programming Languages

Theories of Programming Languages PDF Author: John C. Reynolds
Publisher: Cambridge University Press
ISBN: 0521594146
Category : Computers
Languages : en
Pages : 514

Get Book Here

Book Description
This text is perfect for advanced undergraduate and beginning graduate courses in programming language theory.

Introduction to the Theory of Programming Languages

Introduction to the Theory of Programming Languages PDF Author: Gilles Dowek
Publisher: Springer Science & Business Media
ISBN: 0857290762
Category : Computers
Languages : en
Pages : 102

Get Book Here

Book Description
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 PDF Author: John C. Mitchell
Publisher: Cambridge University Press
ISBN: 9780521780988
Category : Computers
Languages : en
Pages : 546

Get Book Here

Book Description
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 PDF Author: Eric C.R. Hehner
Publisher: Springer Science & Business Media
ISBN: 1441985964
Category : Computers
Languages : en
Pages : 257

Get Book Here

Book Description
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.

Semantics of Programming Languages

Semantics of Programming Languages PDF Author: Carl A. Gunter
Publisher: MIT Press
ISBN: 9780262570954
Category : Computers
Languages : en
Pages : 450

Get Book Here

Book Description
Semantics of Programming Languages exposes the basic motivations and philosophy underlying the applications of semantic techniques in computer science. It introduces the mathematical theory of programming languages with an emphasis on higher-order functions and type systems. Designed as a text for upper-level and graduate-level students, the mathematically sophisticated approach will also prove useful to professionals who want an easily referenced description of fundamental results and calculi. Basic connections between computational behavior, denotational semantics, and the equational logic of functional programs are thoroughly and rigorously developed. Topics covered include models of types, operational semantics, category theory, domain theory, fixed point (denotational). semantics, full abstraction and other semantic correspondence criteria, types and evaluation, type checking and inference, parametric polymorphism, and subtyping. All topics are treated clearly and in depth, with complete proofs for the major results and numerous exercises.

Functional Programming

Functional Programming PDF Author: Bruce J. MacLennan
Publisher: Addison-Wesley Professional
ISBN:
Category : Computers
Languages : en
Pages : 616

Get Book Here

Book Description


Semiotics of Programming

Semiotics of Programming PDF Author: Kumiko Tanaka-Ishii
Publisher: Cambridge University Press
ISBN: 0521516552
Category : Computers
Languages : en
Pages : 233

Get Book Here

Book Description
Considers what computers can and cannot do, analysing how computer sign systems compare to humans through a concept of reflexivity.

Type Theory and Formal Proof

Type Theory and Formal Proof PDF Author: Rob Nederpelt
Publisher: Cambridge University Press
ISBN: 1316061086
Category : Computers
Languages : en
Pages : 465

Get Book Here

Book Description
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.

Design Concepts in Programming Languages

Design Concepts in Programming Languages PDF Author: Franklyn Turbak
Publisher: MIT Press
ISBN: 0262303159
Category : Computers
Languages : en
Pages : 1347

Get Book Here

Book Description
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.