Synopses & Reviews
Call-by-push-value is a programming language paradigm that, surprisingly, breaks down the call-by-value and call-by-name paradigms into simple primitives. This monograph, written for graduate students and researchers, exposes the call-by-push-value structure underlying a remarkable range of semantics, including operational semantics, domains, possible worlds, continuations and games.After introducing basic ideas using domain semantics and a stack machine, the book is layered to appeal to readers in a variety of fields. One strand treats semantics of store, culminating in a possible world model for general storage cells. Another implements call-by-push-value by translating it into the Jump-With-Argument continuation language, enabling an account of pointer game semantics that explains its arenas, pointers and question/answer labelling in concrete computational terms. Yet another gives a categorical picture of call-by-push-value: an adjunction between values and stacks.Incorporating recent simplifications, this is a key text for anyone interested in lambda-calculus, programming language foundations or applications of category theory.
Synopsis
Call-by-push-value is a programming language paradigm that, surprisingly, breaks down the call-by-value and call-by-name paradigms into simple primitives. This monograph, written for graduate students and researchers, exposes the call-by-push-value structure underlying a remarkable range of semantics, including operational semantics, domains, possible worlds, continuations and games.
Table of Contents
List of Figures. Preface. Acknowledgements. Introduction. I.1. Computational Effects. I.2. Reconciling CBN and CBV. I.3. the Case for Call-By-Push-Value. I.4. Conventions. I.5. A CBPV Primer. I.6. Structure of Thesis. Part I: Language. 1. Call-By-Value and Call-By-Name. 2. Call-By-Push-Value: A Subsuming Paradigm. 3. Complex Values and Equational Theory. 4. Recursion and Infinitely Deep CBPV. Part II: Concrete Semantics. 5. Simple Models of CBPV. 6. Possible World Model for Cell Generation. 7. Jump-with-Argument. 8. Pointer Games. Part III: Categorical Semantics. 9. Semantics in Element Style. 10. All Models are Categorical Models. 11. Representing Objects. Part IV: Conclusions. 12. Conclusions, Comparisons and Further Work. Appendices: A: Technical Treatment of CBV and CBN. B: Models in the Style of Power-Robinson.