A Graph Model for Imperative Computation

Scott's graph model is a lambda-algebra based on the observation that continuous endofunctions on the lattice of sets of natural numbers can be represented via their graphs. A graph is a relation mapping finite sets of input values to output values. We consider a similar model based on relations whose input values are finite sequences rather than sets. This alteration means that we are taking into account the order in which observations are made. This new notion of graph gives rise to a model of affine lambda-calculus that admits an interpretation of imperative constructs including variable assignment, dereferencing and allocation. Extending this untyped model, we construct a category that provides a model of typed higher-order imperative computation with an affine type system. An appropriate language of this kind is Reynolds's Syntactic Control of Interference. Our model turns out to be fully abstract for this language. At a concrete level, it is the same as Reddy's object spaces model, which was the first "state-free" model of a higher-order imperative programming language and an important precursor of games models. The graph model can therefore be seen as a universal domain for Reddy's model.

[1]  Peter W. O'Hearn A Model for Syntactic Control of Interference , 1993, Math. Struct. Comput. Sci..

[2]  G. Plotkin Tω as a Universal Domain , 1978 .

[3]  John C. Reynolds,et al.  Syntactic control of interference , 1978, POPL.

[4]  Henk Barendregt,et al.  The Lambda Calculus: Its Syntax and Semantics , 1985 .

[5]  Giuseppe Rosolini,et al.  A Category Theoretic Formulation for Engeler-style Models of the Untyped lambda , 2006, MFCSIT.

[6]  James Laird Decidability and syntactic control of interference , 2008, Theor. Comput. Sci..

[7]  Dana S. Scott,et al.  Data Types as Lattices , 1976, SIAM J. Comput..

[8]  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).

[9]  Giuseppe Rosolini,et al.  A Category Theoretic Formulation for Engeler-style Models of the Untyped λ-Calculus , 2006 .

[10]  Guy McCusker A Fully Abstract Relational Model of Syntactic Control of Interference , 2002, CSL.

[11]  Peter W. O'Hearn,et al.  Objects, interference and the Yoneda embedding , 1995, MFPS.

[12]  John Longley,et al.  Universal Types and What They are Good For , 2003 .

[13]  J. Girard,et al.  Proofs and types , 1989 .

[14]  B Löwe,et al.  Interpreting Localized Computational Effects Using Operators of Higher Type , 2008 .

[15]  Peter W. O'Hearn,et al.  Syntactic Control of Interference Revisited , 1999, Theor. Comput. Sci..

[16]  Matthew Wall,et al.  Games for syntactic control of interference , 2004 .

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

[18]  John Longley Interpreting Localized Computational Effects Using Operators of Higher Type , 2008, CiE.

[19]  Krzysztof R. Apt,et al.  Countable nondeterminism and random assignment , 1986, JACM.

[20]  John C. Reynolds,et al.  Syntactic Control of Inference, Part 2 , 1989, ICALP.

[21]  Jules J. Berman,et al.  Ruby: The Programming Language , 2008 .

[22]  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..

[23]  James Laird Decidability in Syntactic Control of Interference , 2005, ICALP.

[24]  Guy McCusker,et al.  On the Semantics of the Bad-Variable Constructor in Algol-like Languages , 2004, MFPS.

[25]  Bart Jacobs,et al.  Semantics of Weakening and Contraction , 1994, Ann. Pure Appl. Log..