Reflections on the Work of C.A.R. Hoare - Roscoe, A.W.; Jones, Cliff B.; Wood, Kenneth R.; SpringerLink (Online service) (London : Springer London, 2010)
Thousands of different programming languages exist, and many more are being created each year, yet all those involved in such work must acknowledge that it is "the highest goal of programming-language design to enable good ideas to be elegantly expressed" These are the words of Sir Charles Antony Richard Hoare, or Tony Hoare to his colleagues and friends, a man who has inspired generations of researchers in computer science. His work, grounded in practical programming, has had a profound impact on the evolution of the field. This includes the development of Hoare logic and Communicating Sequential Processes (CSP). Reflections on the Work of C.A.R. Hoare presents a comprehensive edited survey of all aspects of these subjects, with original contributions by more than 30 international leaders in the field. The book, while honoring Hoare's important contributions, assembles a collection of chapters showing the state of the art in programming languages, sequential programs, concurrency, and unified theories of programming. Topics and features: Provides a scientific biography of Tony Hoare Demonstrates a principled combination of CSP and functional programming, and a CSP semantics for the (Ss(B-calculus Reviews methods for proving Hoare formulae Investigates developments in game semantics and semantics based on the state monad Examines the satisfiability problem, void safety, and issues of auxiliary variables Introduces type families in Haskell and a description of Quicksort in Orc Describes an experiment using the Tokeneer archive, and a correctness proof of cryptographic protocols based on the Shadow Security model Presents a representation of CSP as a bigraphical reactive system, and shows how simple entities can be related to CSP processes Discusses the problem-frames approach, and explores algebraic properties of the new programming combinators This accessible monograph is an ideal overview of theoretical and empirical evolution in programming logic and semantics of programming languages. It will serve as an invaluable resource for professionals, researchers, libraries, and students who are interested in broadening their knowledge in all of the areas covered.s
Insight, Inspiration and Collaboration -- From CSP to Game Semantics -- On Mereologies in Computing Science -- Roles, Stacks, Histories: A Triple for Hoare -- Forward with Hoare -- Probabilistic Programming with Coordination -- The Operational Principle and Problem Frames -- The Role of Auxiliary Variables in the Formal Development of Concurrent Programs -- Avoid a Void: The Eradication of Null Dereferencing -- Unfolding CSP -- Quicksort: Combining Concurrency, Recursion, and Mutable Data Structures -- The Thousand-and-One Cryptographers -- On Process-Algebraic Extensions of Metric Temporal Logic -- Fun with Type Functions -- On CSP and the Algebraic Theory of Effects -- CSP is Expressive Enough for ? -- The Tokeneer Experiments.
Keywords: Computer science; Computer Science; History of Computing