Theories of Programming Languages

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

Get Book

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: 1139936255
Category : Computers
Languages : en
Pages : 840

Get Book

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.

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 : 96

Get Book

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

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

Category Theory for Programmers (New Edition, Hardcover)

Category Theory for Programmers (New Edition, Hardcover) PDF Author: Bartosz Milewski
Publisher:
ISBN: 9780464243878
Category :
Languages : en
Pages :

Get Book

Book Description
Category Theory is one of the most abstract branches of mathematics. It is usually taught to graduate students after they have mastered several other branches of mathematics, like algebra, topology, and group theory. It might, therefore, come as a shock that the basic concepts of category theory can be explained in relatively simple terms to anybody with some experience in programming.That's because, just like programming, category theory is about structure. Mathematicians discover structure in mathematical theories, programmers discover structure in computer programs. Well-structured programs are easier to understand and maintain and are less likely to contain bugs. Category theory provides the language to talk about structure and learning it will make you a better programmer.

Introduction to Switching and Automata Theory

Introduction to Switching and Automata Theory PDF Author: Michael A. Harrison
Publisher:
ISBN:
Category : Sequential machine theory
Languages : en
Pages : 542

Get Book

Book Description


A Theory of Programming Language Semantics

A Theory of Programming Language Semantics PDF Author: Robert Milne
Publisher: Chapman & Hall
ISBN:
Category : Computers
Languages : en
Pages : 380

Get Book

Book Description
This book explores how to formalize semantics in various programming languages.

First-Order Programming Theories

First-Order Programming Theories PDF Author: Tamas Gergely
Publisher: Springer Science & Business Media
ISBN: 3642582052
Category : Computers
Languages : en
Pages : 342

Get Book

Book Description
This work presents a purely classical first-order logical approach to the field of study in theoretical computer science sometimes referred to as the theory of programs, or programming theory. This field essentially attempts to provide a precise mathematical basis for the common activities involved in reasoning about computer programs and programming languages, and it also attempts to find practical applications in the areas of program specification, verification and programming language design. Many different approaches with different mathematical frameworks have been proposed as a basis for programming theory. They differ in the mathe matical machinery they use to define and investigate programs and program properties and they also differ in the concepts they deal with to understand the programming paradigm. Different approaches use different tools and viewpoints to characterize the data environment of programs. Most of the approaches are related to mathe matical logic and they provide their own logic. These logics, however, are very eclectic since they use special entities to reflect a special world of programs, and also, they are usually incomparable with each other. This Babel's mess irritated us and we decided to peel off the eclectic com ponents and try to answer all the questions by using classical first-order logic.

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

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.

Unifying Theories of Programming

Unifying Theories of Programming PDF Author: Charles Antony Richard Hoare
Publisher:
ISBN:
Category : Computers
Languages : en
Pages : 328

Get Book

Book Description
This book provides a synthesis of the theory of programming. It aims to use mathematical theory of programming to provide a similar basis for specification, design and implementation of programs. It is wide ranging both in its subject matter and also in its approach and style. The first five chapters justify and introduce the main concepts and methods to be used within the text, relating the goal of unification to the achievements of other branches of science and mathematics. The remaining chapters introduce more advanced programming language features one by one. The main methods of programming are summarised and concluded in a manner suitable for those already familiar with programming semantics. Definitions are accompanied by examples and the theorems by meticulous proof.

First-order Programming Theories

First-order Programming Theories PDF Author: Tamás Gergely
Publisher: Springer Verlag
ISBN: 9780387542775
Category : Computers
Languages : en
Pages : 351

Get Book

Book Description
This book proposes a purely classical first-order logical approach to the theory of programming. The authors, leading members of the famous 'Hungarian school', use this approach to give a unified and systematic presentation of the theory. This approach provides formal methods and tools for reasoning about computer programs and programming languages by allowing the syntactic and semantic characterization of programs, the description of program properties, and ways to check whether a given program satisfies certain properties. The basic methods are logical extension, inductive definition and their combination, all of which admit an appropriate first-order representation of data and time. The framework proposed by the authors allows the investigation and development of different programming theories and logics from a unified point of view. Dynamic and temporal logics, for example, are investigated and compared with respect to their expressive and proof-theoretic powers. The book should appeal to both theoretical researchers and students. For researchers in computer science the book provides a coherent presentation of a new approach which permits the solution of various problems in programming theory in a unified manner by the use of first-order logical tools. The book may serve as a basis for graduate courses in programming theory and logic as it covers all important questions arising between the theory of computation and formal descriptive languages and presents an appropriate derivation system.