A semantic analysis of control

This thesis examines the use of denotational semantics to reason about control flow in sequential, basically functional languages. It extends recent work in game semantics, in which programs are interpreted as strategies for computation by interaction with an environment. Abramsky has suggested that an intensional hierarchy of computational features such as state, and their fully abstract models, can be captured as violations of the constraints on strategies in the basic functional model. Non-local control flow is shown to fit into this framework as the violation of strong and weak ‘bracketing’ conditions, related to linear behaviour. The language PCF (Parigot’s with constants and recursion) is adopted as a simple basis for higher-type, sequential computation with access to the flow of control. A simple operational semantics for both call-by-name and call-by-value evaluation is described. It is shown that dropping the bracketing condition on games models of PCF yields fully abstract models of PCF. The games models of PCF are instances of a general construction based on a continuations monad on Fam(C), where C is a rational cartesian closed category with infinite products. Computational adequacy, definability and full abstraction can then be captured by simple axioms on C. The fully abstract and universal models of PCF are shown to have an effective presentation in the category of Berry-Curien sequential algorithms. There is further analysis of observational equivalence, in the form of a context lemma, and a characterization of the unique functor from the (initial) games model, which is an isomorphism on its (fully abstract) quotient. This establishes decidability of observational equivalence for finitary PCF, contrasting with the undecidability of the analogous relation in pure PCF.

[1]  Olivier Danvy,et al.  A generic account of continuation-passing styles , 1994, POPL '94.

[2]  Vincent Danos,et al.  Game semantics and abstract machines , 1996, Proceedings 11th Annual IEEE Symposium on Logic in Computer Science.

[3]  Dana S. Scott,et al.  A Type-Theoretical Alternative to ISWIM, CUCH, OWHY , 1993, Theor. Comput. Sci..

[4]  Timothy G. Griffin,et al.  A formulae-as-type notion of control , 1989, POPL '90.

[5]  Robert Hieb,et al.  The Revised Report on the Syntactic Theories of Sequential Control and State , 1992, Theor. Comput. Sci..

[6]  Martin Hofmann,et al.  Continuation models are universal for lambda-mu-calculus , 1997, LICS 1997.

[7]  Pierre-Louis Curien On the Symmetry of Sequentiality , 1993, MFPS.

[8]  Hugo Herbelin Games and Weak-Head Reduction for Classical PCF , 1997, TLCA.

[9]  C.-H. Luke Ong,et al.  Pi-calculus, dialogue games and full abstraction PCF , 1995, FPCA '95.

[10]  Vincent Danos,et al.  A new deconstructive logic: linear logic , 1997, Journal of Symbolic Logic.

[11]  Paul Lorenzen,et al.  Normative logic and ethics , 1984 .

[12]  Alley Stoughton,et al.  Studying the Fully Abstract Model of PCF within its Continuous Function Model , 1993, TLCA.

[13]  Andreas Blass,et al.  A Game Semantics for Linear Logic , 1992, Ann. Pure Appl. Log..

[14]  Thomas Ehrhard,et al.  Believe it or not, AJM's games model is a model of classical linear logic , 1997, Proceedings of Twelfth Annual IEEE Symposium on Logic in Computer Science.

[15]  Samson Abramsky,et al.  Linearity, Sharing and State: a fully abstract game semantics for Idealized Algol with active expressions , 1996, Electron. Notes Theor. Comput. Sci..

[16]  Gordon Plotkin,et al.  Logical Full Abstraction and PCF , 2000 .

[17]  Pierre-Louis Curien Categorical Combinators, Sequential Algorithms, and Functional Programming , 1993, Progress in Theoretical Computer Science.

[18]  C.-H. Luke Ong,et al.  On Full Abstraction for PCF: I, II, and III , 2000, Inf. Comput..

[19]  J. Lambek,et al.  Introduction to higher order categorical logic , 1986 .

[20]  Hayo Thielecke,et al.  Categorical Structure of Continuation Passing Style , 1997 .

[21]  Torben Braüner A Simple Adequate Categorical Model for PCF , 1997, TLCA.

[22]  Jean-Yves Girard,et al.  Towards a geometry of interaction , 1989 .

[23]  John C. Reynolds,et al.  The discoveries of continuations , 1993, LISP Symb. Comput..

[24]  Matthias Felleisen,et al.  SPCF: Its Model, Calculus, and Computational Power (Preliminary Version) , 1992, REX Workshop.

[25]  Gordon D. Plotkin,et al.  Concrete Domains , 1993, Theor. Comput. Sci..

[26]  Chris Hankin,et al.  Generalised Flowcharts and Games , 1998, ICALP.

[27]  Eugenio Moggi,et al.  Notions of Computation and Monads , 1991, Inf. Comput..

[28]  Philippe de Groote,et al.  On the Relation between the Lambda-Mu-Calculus and the Syntactic Theory of Sequential Control , 1994, LPAR.

[29]  C.-H. Luke Ong,et al.  A semantic view of classical proofs: type-theoretic, categorical, and denotational characterizations , 1996, Proceedings 11th Annual IEEE Symposium on Logic in Computer Science.

[30]  Mitchell Wand,et al.  Obtaining Coroutines with Continuations , 1986, Comput. Lang..

[31]  Vincent Padovani,et al.  Decidability of All Minimal Models , 1995, TYPES.

[32]  Martin Hofmann,et al.  Continuation models are universal for Xp-calculus , 1997 .

[33]  James Laird,et al.  Full abstraction for functional languages with control , 1997, Proceedings of Twelfth Annual IEEE Symposium on Logic in Computer Science.

[34]  Radha Jagadeesan,et al.  Games and Full Completeness for Multiplicative Linear Logic , 1994, J. Symb. Log..

[35]  Radha Jagadeesan,et al.  Full Abstraction for PCF , 1994, Inf. Comput..

[36]  G.D. Plotkin,et al.  LCF Considered as a Programming Language , 1977, Theor. Comput. Sci..

[37]  Guy McCusker Games and Full Abstraction for a Functional Metalanguage with Recursive Types , 1998, Distinguished Dissertations.

[38]  Michel Parigot,et al.  Lambda-Mu-Calculus: An Algorithmic Interpretation of Classical Natural Deduction , 1992, LPAR.

[39]  Robin Milner,et al.  Processes: A Mathematical Model of Computing Agents , 1975 .

[40]  P. J. Landin,et al.  A Generalization of Jumps and Labels , 1998, High. Order Symb. Comput..

[41]  Matthias Felleisen,et al.  Fully Abstract Semantics for Observably Sequential Languages , 1994, Inf. Comput..

[42]  Hanno Nickau Hereditarily Sequential Functionals , 1994, LFCS.

[43]  James Hook,et al.  Three monads for continuations , 1992 .

[44]  Hugo Herbelin,et al.  Computing with Abstract Böhm Trees , 1998, Fuji International Symposium on Functional and Logic Programming.

[45]  Nobuko Yoshida,et al.  Game-Theoretic Analysis of Call-by-Value Computation , 1997, Theor. Comput. Sci..

[46]  Eugenio Moggi,et al.  Computational lambda-calculus and monads , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[47]  Gordon D. Plotkin,et al.  Call-by-Name, Call-by-Value and the lambda-Calculus , 1975, Theor. Comput. Sci..

[48]  Didier Rémy,et al.  A generalization of exceptions and control in ML-like languages , 1995, FPCA '95.

[49]  Dominic J. D. Hughes Games and definability for system F , 1997, Proceedings of Twelfth Annual IEEE Symposium on Logic in Computer Science.

[50]  Matthias Felleisen,et al.  Reasoning with continuations II: full abstraction for models of control , 1990, LISP and Functional Programming.

[51]  Thomas Streicher,et al.  Classical logic, continuation semantics and abstract machines , 1998, Journal of Functional Programming.

[52]  John C. Reynolds,et al.  Definitional Interpreters for Higher-Order Programming Languages , 1972, ACM '72.

[53]  Edmund Robinson,et al.  Premonoidal categories and notions of computation , 1997, Mathematical Structures in Computer Science.

[54]  Robin Milner,et al.  Fully Abstract Models of Typed lambda-Calculi , 1977, Theor. Comput. Sci..

[55]  Pierre-Louis Curien,et al.  Sequential Algorithms on Concrete Data Structures , 1982, Theor. Comput. Sci..

[56]  Thomas Ehrhard Projecting Sequential Algorithms on Strongly Stable Functions , 1996, Ann. Pure Appl. Log..

[57]  Jean-Jacques Lévy,et al.  Full abstraction for sequential algorithms: the state of the art , 1986 .

[58]  Jean-Yves Girard,et al.  On the Unity of Logic , 1993, Ann. Pure Appl. Log..

[59]  Matthias Felleisen,et al.  Observable sequentiality and full abstraction , 1992, POPL '92.

[60]  Patrick Lincoln,et al.  Linear logic , 1992, SIGA.

[61]  Harold T. Hodes,et al.  The | lambda-Calculus. , 1988 .

[62]  Pierre-Louis Curien,et al.  Categorical Combinators , 1986, Inf. Control..

[63]  D. Prawitz Natural Deduction: A Proof-Theoretical Study , 1965 .

[64]  D. H. Bartley,et al.  Revised4 report on the algorithmic language scheme , 1991, LIPO.

[65]  C.-H. Luke Ong,et al.  A Curry-Howard foundation for functional computation with control , 1997, POPL '97.

[66]  Samson Abramsky,et al.  A fully abstract game semantics for general references , 1998, Proceedings. Thirteenth Annual IEEE Symposium on Logic in Computer Science (Cat. No.98CB36226).

[67]  S. Lane Categories for the Working Mathematician , 1971 .

[68]  G. M. Bierman A Computational Interpretation of the lambda-µ-Calculus , 1998, MFCS.

[69]  Martin Hofmann,et al.  Sound and complete axiomatisations of call-by-value control operators , 1995, Mathematical Structures in Computer Science.

[70]  Samson Abramsky,et al.  Call-by-Value Games , 1997, CSL.

[71]  A. Pitts INTRODUCTION TO HIGHER ORDER CATEGORICAL LOGIC (Cambridge Studies in Advanced Mathematics 7) , 1987 .

[72]  Robert Harper,et al.  Typing first-class continuations in ML , 1991, POPL '91.

[73]  Gavin M. Bierman What is a Categorical Model of Intuitionistic Linear Logic? , 1995, TLCA.