Theories of Programming Languages

Theories of Programming Languages

Author: John C. Reynolds

Publisher: Cambridge University Press

Published: 1998-10-13

Total Pages: 514

ISBN-13: 1139936255

DOWNLOAD EBOOK

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.


Book Synopsis Theories of Programming Languages by : John C. Reynolds

Download or read book Theories of Programming Languages written by John C. Reynolds and published by Cambridge University Press. This book was released on 1998-10-13 with total page 514 pages. Available in PDF, EPUB and Kindle. Book excerpt: 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.


A Practical Theory of Programming

A Practical Theory of Programming

Author: Eric C.R. Hehner

Publisher: Springer Science & Business Media

Published: 2012-09-08

Total Pages: 257

ISBN-13: 1441985964

DOWNLOAD EBOOK

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.


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

Download or read book A Practical Theory of Programming written by Eric C.R. Hehner and published by Springer Science & Business Media. This book was released on 2012-09-08 with total page 257 pages. Available in PDF, EPUB and Kindle. Book excerpt: 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.


Category Theory for Programmers (New Edition, Hardcover)

Category Theory for Programmers (New Edition, Hardcover)

Author: Bartosz Milewski

Publisher:

Published: 2019-08-24

Total Pages:

ISBN-13: 9780464243878

DOWNLOAD EBOOK

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.


Book Synopsis Category Theory for Programmers (New Edition, Hardcover) by : Bartosz Milewski

Download or read book Category Theory for Programmers (New Edition, Hardcover) written by Bartosz Milewski and published by . This book was released on 2019-08-24 with total page pages. Available in PDF, EPUB and Kindle. Book excerpt: 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.


Purposeful Program Theory

Purposeful Program Theory

Author: Sue C. Funnell

Publisher: John Wiley & Sons

Published: 2011-02-09

Total Pages: 576

ISBN-13: 0470939893

DOWNLOAD EBOOK

Between good intentions and great results lies a program theory not just a list of tasks but a vision of what needs to happen, and how. Now widely used in government and not-for-profit organizations, program theory provides a coherent picture of how change occurs and how to improve performance. Purposeful Program Theory shows how to develop, represent, and use program theory thoughtfully and strategically to suit your particular situation, drawing on the fifty-year history of program theory and the authors' experiences over more than twenty-five years. "From needs assessment to intervention design, from implementation to outcomes evaluation, from policy formulation to policy execution and evaluation, program theory is paramount. But until now no book has examined these multiple uses of program theory in a comprehensive, understandable, and integrated way. This promises to be a breakthrough book, valuable to practitioners, program designers, evaluators, policy analysts, funders, and scholars who care about understanding why an intervention works or doesn't work." Michael Quinn Patton, author, Utilization-Focused Evaluation "Finally, the definitive guide to evaluation using program theory! Far from the narrow 'one true way' approaches to program theory, this book provides numerous practical options for applying program theory to fulfill different purposes and constraints, and guides the reader through the sound critical thinking required to select from among the options. The tour de force of the history and use of program theory is a truly global view, with examples from around the world and across the full range of content domains. A must-have for any serious evaluator." E. Jane Davidson, PhD, Real Evaluation Ltd. Companion Web site: josseybass.com/go/funnellrogers


Book Synopsis Purposeful Program Theory by : Sue C. Funnell

Download or read book Purposeful Program Theory written by Sue C. Funnell and published by John Wiley & Sons. This book was released on 2011-02-09 with total page 576 pages. Available in PDF, EPUB and Kindle. Book excerpt: Between good intentions and great results lies a program theory not just a list of tasks but a vision of what needs to happen, and how. Now widely used in government and not-for-profit organizations, program theory provides a coherent picture of how change occurs and how to improve performance. Purposeful Program Theory shows how to develop, represent, and use program theory thoughtfully and strategically to suit your particular situation, drawing on the fifty-year history of program theory and the authors' experiences over more than twenty-five years. "From needs assessment to intervention design, from implementation to outcomes evaluation, from policy formulation to policy execution and evaluation, program theory is paramount. But until now no book has examined these multiple uses of program theory in a comprehensive, understandable, and integrated way. This promises to be a breakthrough book, valuable to practitioners, program designers, evaluators, policy analysts, funders, and scholars who care about understanding why an intervention works or doesn't work." Michael Quinn Patton, author, Utilization-Focused Evaluation "Finally, the definitive guide to evaluation using program theory! Far from the narrow 'one true way' approaches to program theory, this book provides numerous practical options for applying program theory to fulfill different purposes and constraints, and guides the reader through the sound critical thinking required to select from among the options. The tour de force of the history and use of program theory is a truly global view, with examples from around the world and across the full range of content domains. A must-have for any serious evaluator." E. Jane Davidson, PhD, Real Evaluation Ltd. Companion Web site: josseybass.com/go/funnellrogers


Unifying Theories of Programming

Unifying Theories of Programming

Author: Charles Antony Richard Hoare

Publisher:

Published: 1998

Total Pages: 328

ISBN-13:

DOWNLOAD EBOOK

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.


Book Synopsis Unifying Theories of Programming by : Charles Antony Richard Hoare

Download or read book Unifying Theories of Programming written by Charles Antony Richard Hoare and published by . This book was released on 1998 with total page 328 pages. Available in PDF, EPUB and Kindle. Book excerpt: 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.


Foundations of Program Evaluation

Foundations of Program Evaluation

Author: William R. Shadish

Publisher: SAGE

Published: 1991

Total Pages: 544

ISBN-13: 9780803953017

DOWNLOAD EBOOK

Foundations of Program Evaluationheralds a thorough exploration of the field of program evaluation--looking back on its origins. By summarizing, comparing, and contrasting the work of seven major theorists of program evaluation, this book provides an important perspective on the current state of evaluation theory and provides suggestions for ways of improving its practice. Beginning in Chapter Two, the authors develop a conceptual framework to analyze how successfully each theory meets the specific criteria of its framework. Each subsequent chapter is devoted to the presentation of the theoretical and practical advice of a significant theorist--Michael Scriven, Donald Campbell, Carol Weiss, Joseph Wholey, Robert Stake, Lee Cronbach, and Peter Rossi.


Book Synopsis Foundations of Program Evaluation by : William R. Shadish

Download or read book Foundations of Program Evaluation written by William R. Shadish and published by SAGE. This book was released on 1991 with total page 544 pages. Available in PDF, EPUB and Kindle. Book excerpt: Foundations of Program Evaluationheralds a thorough exploration of the field of program evaluation--looking back on its origins. By summarizing, comparing, and contrasting the work of seven major theorists of program evaluation, this book provides an important perspective on the current state of evaluation theory and provides suggestions for ways of improving its practice. Beginning in Chapter Two, the authors develop a conceptual framework to analyze how successfully each theory meets the specific criteria of its framework. Each subsequent chapter is devoted to the presentation of the theoretical and practical advice of a significant theorist--Michael Scriven, Donald Campbell, Carol Weiss, Joseph Wholey, Robert Stake, Lee Cronbach, and Peter Rossi.


First-Order Programming Theories

First-Order Programming Theories

Author: Tamas Gergely

Publisher: Springer Science & Business Media

Published: 2012-12-06

Total Pages: 342

ISBN-13: 3642582052

DOWNLOAD EBOOK

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.


Book Synopsis First-Order Programming Theories by : Tamas Gergely

Download or read book First-Order Programming Theories written by Tamas Gergely and published by Springer Science & Business Media. This book was released on 2012-12-06 with total page 342 pages. Available in PDF, EPUB and Kindle. Book excerpt: 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.


Theories of Programming

Theories of Programming

Author: Cliff B. Jones

Publisher: Morgan & Claypool

Published: 2021-09-26

Total Pages: 450

ISBN-13: 1450387314

DOWNLOAD EBOOK

Sir Tony Hoare has had an enormous influence on computer science, from the Quicksort algorithm to the science of software development, concurrency and program verification. His contributions have been widely recognised: He was awarded the ACM’s Turing Award in 1980, the Kyoto Prize from the Inamori Foundation in 2000, and was knighted for “services to education and computer science” by Queen Elizabeth II of England in 2000. This book presents the essence of his various works—the quest for effective abstractions—both in his own words as well as chapters written by leading experts in the field, including many of his research collaborators. In addition, this volume contains biographical material, his Turing award lecture, the transcript of an interview and some of his seminal papers. Hoare’s foundational paper “An Axiomatic Basis for Computer Programming”, presented his approach, commonly known as Hoare Logic, for proving the correctness of programs by using logical assertions. Hoare Logic and subsequent developments have formed the basis of a wide variety of software verification efforts. Hoare was instrumental in proposing the Verified Software Initiative, a cooperative international project directed at the scientific challenges of large-scale software verification, encompassing theories, tools and experiments. Tony Hoare’s contributions to the theory and practice of concurrent software systems are equally impressive. The process algebra called Communicating Sequential Processes (CSP) has been one of the fundamental paradigms, both as a mathematical theory to reason about concurrent computation as well as the basis for the programming language occam. CSP served as a framework for exploring several ideas in denotational semantics such as powerdomains, as well as notions of abstraction and refinement. It is the basis for a series of industrial-strength tools which have been employed in a wide range of applications. This book also presents Hoare’s work in the last few decades. These works include a rigorous approach to specifications in software engineering practice, including procedural and data abstractions, data refinement, and a modular theory of designs. More recently, he has worked with collaborators to develop Unifying Theories of Programming (UTP). Their goal is to identify the common algebraic theories that lie at the core of sequential, concurrent, reactive and cyber-physical computations.


Book Synopsis Theories of Programming by : Cliff B. Jones

Download or read book Theories of Programming written by Cliff B. Jones and published by Morgan & Claypool. This book was released on 2021-09-26 with total page 450 pages. Available in PDF, EPUB and Kindle. Book excerpt: Sir Tony Hoare has had an enormous influence on computer science, from the Quicksort algorithm to the science of software development, concurrency and program verification. His contributions have been widely recognised: He was awarded the ACM’s Turing Award in 1980, the Kyoto Prize from the Inamori Foundation in 2000, and was knighted for “services to education and computer science” by Queen Elizabeth II of England in 2000. This book presents the essence of his various works—the quest for effective abstractions—both in his own words as well as chapters written by leading experts in the field, including many of his research collaborators. In addition, this volume contains biographical material, his Turing award lecture, the transcript of an interview and some of his seminal papers. Hoare’s foundational paper “An Axiomatic Basis for Computer Programming”, presented his approach, commonly known as Hoare Logic, for proving the correctness of programs by using logical assertions. Hoare Logic and subsequent developments have formed the basis of a wide variety of software verification efforts. Hoare was instrumental in proposing the Verified Software Initiative, a cooperative international project directed at the scientific challenges of large-scale software verification, encompassing theories, tools and experiments. Tony Hoare’s contributions to the theory and practice of concurrent software systems are equally impressive. The process algebra called Communicating Sequential Processes (CSP) has been one of the fundamental paradigms, both as a mathematical theory to reason about concurrent computation as well as the basis for the programming language occam. CSP served as a framework for exploring several ideas in denotational semantics such as powerdomains, as well as notions of abstraction and refinement. It is the basis for a series of industrial-strength tools which have been employed in a wide range of applications. This book also presents Hoare’s work in the last few decades. These works include a rigorous approach to specifications in software engineering practice, including procedural and data abstractions, data refinement, and a modular theory of designs. More recently, he has worked with collaborators to develop Unifying Theories of Programming (UTP). Their goal is to identify the common algebraic theories that lie at the core of sequential, concurrent, reactive and cyber-physical computations.


Unifying Theories of Programming

Unifying Theories of Programming

Author: Andrew Butterfield

Publisher: Springer

Published: 2010-07-30

Total Pages: 286

ISBN-13: 3642145213

DOWNLOAD EBOOK

This book constitutes the thoroughly refereed post-proceedings of the Second International Symposium on Unifying Theories of Programming, UTP 2008, held at Trinity College, Dublin, Ireland, in September 2008. The 15 revised full papers presented, together with two invited talks, were carefully reviewed and selected from 20 submissions. Based on the pioneering work on unifying theories of programming of Tony Hoare, He Jifeng, and others, the aims of this Symposium series are to continue to reaffirm the significance of the ongoing UTP project, to encourage efforts to advance it by providing a focus for the sharing of results by those already actively contributing, and to raise awareness of the benefits of such a unifying theoretical framework among the wider computer science and software engineering communities.


Book Synopsis Unifying Theories of Programming by : Andrew Butterfield

Download or read book Unifying Theories of Programming written by Andrew Butterfield and published by Springer. This book was released on 2010-07-30 with total page 286 pages. Available in PDF, EPUB and Kindle. Book excerpt: This book constitutes the thoroughly refereed post-proceedings of the Second International Symposium on Unifying Theories of Programming, UTP 2008, held at Trinity College, Dublin, Ireland, in September 2008. The 15 revised full papers presented, together with two invited talks, were carefully reviewed and selected from 20 submissions. Based on the pioneering work on unifying theories of programming of Tony Hoare, He Jifeng, and others, the aims of this Symposium series are to continue to reaffirm the significance of the ongoing UTP project, to encourage efforts to advance it by providing a focus for the sharing of results by those already actively contributing, and to raise awareness of the benefits of such a unifying theoretical framework among the wider computer science and software engineering communities.


Unifying Theories of Programming

Unifying Theories of Programming

Author: Pedro Ribeiro

Publisher: Springer Nature

Published: 2019-09-23

Total Pages: 217

ISBN-13: 3030310388

DOWNLOAD EBOOK

This volume contains papers presented at UTP 2019, the 7th International Symposium on Unifying Theories of Programming, held in Porto, Portugal, on the 8th of October 2019. This edition of the UTP symposium is in honor of Sir Tony Hoare, on the occasion of his 85th birthday. The papers contained in this volume were invited, and friendly refereed, original contributions sought from the UTP community. One of the papers is from the distinguished invited speaker Tony Hoare himself. Nine other additional papers compose this volume, covering several aspects of Unifying Theories of Programming.


Book Synopsis Unifying Theories of Programming by : Pedro Ribeiro

Download or read book Unifying Theories of Programming written by Pedro Ribeiro and published by Springer Nature. This book was released on 2019-09-23 with total page 217 pages. Available in PDF, EPUB and Kindle. Book excerpt: This volume contains papers presented at UTP 2019, the 7th International Symposium on Unifying Theories of Programming, held in Porto, Portugal, on the 8th of October 2019. This edition of the UTP symposium is in honor of Sir Tony Hoare, on the occasion of his 85th birthday. The papers contained in this volume were invited, and friendly refereed, original contributions sought from the UTP community. One of the papers is from the distinguished invited speaker Tony Hoare himself. Nine other additional papers compose this volume, covering several aspects of Unifying Theories of Programming.