Computing with Contexts

We investigate a representation of contexts, expressions with holes in them, that enables them to be meaningfully transformed, in particular α-converted and β-reduced. In particular we generalize the set of λ-expressions to include holes, and on these generalized entities define β-reduction (i.e., substitution) and filling so that these operations preserve α-congruence and commute. The theory is then applied to allow the encoding of reduction systems and operational semantics of call-by-value calculi enriched with control, imperative and concurrent features.

[1]  Carolyn L. Talcott,et al.  1 Equivalence in Functional Languages with E ectsIan , 2007 .

[2]  Dave Sands,et al.  Computing with Contexts: A simple approach , 1998, HOOTS.

[3]  Daniel P. Friedman,et al.  Enriching the lambda calculus with contexts: toward a theory of incremental program construction , 1996, ICFP '96.

[4]  Carolyn L. Talcott,et al.  A Variable Typed Logic of Effects , 1995, Inf. Comput..

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

[6]  Carolyn L. Talcott,et al.  A foundation for actor computation , 1997, Journal of Functional Programming.

[7]  Ian A. Mason A First Order Logic of Effects , 1997, Theor. Comput. Sci..

[8]  Matthias Felleisen,et al.  Control operators, the SECD-machine, and the λ-calculus , 1987, Formal Description of Programming Concepts.

[9]  Richard W. Weyhrauch,et al.  Prolegomena to a theory of formal reasoning , 1978 .

[10]  James H. Morris,et al.  Lambda-calculus models of programming languages. , 1969 .

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

[12]  Richard W. Weyhrauch,et al.  Prolegomena to a Theory of Mechanized Formal Reasoning , 1980, Artif. Intell..

[13]  Jan Willem Klop,et al.  Combinatory reduction systems , 1980 .

[14]  Laurent Dami,et al.  A Lambda-Calculus for Dynamic Binding , 1998, Theor. Comput. Sci..

[15]  Ian A. Mason,et al.  An Operational Logic of Effects , 1996 .

[16]  C. Talcott,et al.  Reasoning about functions with effects , 1999 .

[17]  Martín Abadi,et al.  Explicit substitutions , 1989, POPL '90.

[18]  Carolyn L. Talcott,et al.  A Theory of Binding Structures and Applications to Rewriting , 1993, Theor. Comput. Sci..

[19]  Matthias Felleisen,et al.  The calculi of lambda-nu-cs conversion: a syntactic theory of control and state in imperative higher-order programming languages , 1987 .

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