1. Categorical Combinators.- 1.1 Introducing categorical combinators.- 1.2 ?-calculus and untyped categorical combinatory logic.- 1.3 Types and cartesian closed categories.- 1.4 From untyped calculus to typed calculus: axiomatizing a universal type.- 1.5 Models of the ?-calculus.- 1.6 Equivalence of presentations.- 1.7 Evaluation of categorical terms.- 1.8 Discussion.- 2. Sequential Algorithms.- 2.1 Concrete data structures.- 2.2 Representation theorems.- 2.3 Domain equations.- 2.4 Sequential functions.- 2.5 Sequential algorithms.- 2.6 The category of concrete data structures and sequential algorithms.- 2.7 Discussion.- 3. CDSO: The Kernel of a Functional Language.- 3.1 Declaring concrete data structures.- 3.2 The language of constants: states and sequential algorithms.- 3.3 The language of expressions.- 3.4 Operational semantics: presentation.- 3.5 Operational semantics: the rules of CDSO1.- 3.6 Pull abstraction for CDS0l.- 3.7 Discussion.- 4. The Full Abstraction Problem.- 4.1 The languages PCF, PCFP, and PCFC.- 4.2 Sequential algorithms and extensionality: the bicd's.- 4.3 Complete bicd's.- 4.4 Extensional algorithms and definability.- 4.5 Discussion.- 5. Conclusion.- 6. Mathematical Prerequisites.- References.- Index of Definitions.- Index of Symbols.
This book is a revised edition of the monograph which appeared under the same title in the series Research Notes in Theoretical Computer Science, Pit man, in 1986. In addition to a general effort to improve typography, English, and presentation, the main novelty of this second edition is the integration of some new material. Part of it is mine (mostly jointly with coauthors). Here is brief guide to these additions. I have augmented the account of categorical combinatory logic with a description of the confluence properties of rewriting systems of categor ical combinators (Hardin, Yokouchi), and of the newly developed cal culi of explicit substitutions (Abadi, Cardelli, Curien, Hardin, Levy, and Rios), which are similar in spirit to the categorical combinatory logic, but are closer to the syntax of A-calculus (Section 1.2). The study of the full abstraction problem for PCF and extensions of it has been enriched with a new full abstraction result: the model of sequential algorithms is fully abstract with respect to an extension of PCF with a control operator (Cartwright, Felleisen, Curien). An order extensional model of error-sensitive sequential algorithms is also fully abstract for a corresponding extension of PCF with a control operator and errors (Sections 2.6 and 4.1). I suggest that sequential algorithms lend themselves to a decomposition of the function spaces that leads to models of linear logic (Lamarche, Curien), and that connects sequentiality with games (Joyal, Blass, Abramsky) (Sections 2.1 and 2.6).
Springer Book Archives