Untyped lambda-calculus with input-output
We introduce an untyped λ-calculus with input-output, based on Gordon's continuation-passing model of input-output. This calculus is intended to allow the classification of possibly infinite input-output behaviors, such as those required for servers or distributed systems. We define two terms to be operationally approximate iff they have similar behaviors in any context. We then define a notion of applicative approximation and show that it coincides with operational approximation for these new behaviors. Last, we consider the theory of pure λ-terms under this notion of operational equivalence.
Unable to display preview. Download preview PDF.
- 1.Samson Abramsky. The lazy lambda calculus. In David A. Turner, editor, Research Topics in Functional Programming, pages 65–116. Addison-Wesley, 1990.Google Scholar
- 2.Andrew D. Gordon. Functional Programming and Input/Output. Cambridge University Press, Cambridge, 1994.Google Scholar
- 3.Andrew D. Gordon. Bisimilarity as a Theory of Functional Programming. In Proceedings of 11th Conference on Mathematical Foundations of Programming Semantics, 1995.Google Scholar
- 4.Furio Honsell, Ian A. Mason, Scott Smith, and Carolyn Talcott. A Variable Typed Logic of Effects. Information and Computation, 119:55–90, 1995.Google Scholar
- 5.Douglas J. Howe. Equality in Lazy Computation Systems. In Proc. 4th IEEE Symposium on Logic in Computer Science, pages 198–203, 1989.Google Scholar
- 6.Douglas J. Howe. A Note on Proving Congruence of Bisimulation in a Generalized Lambda Calculus. unpublished manuscript, 1995.Google Scholar
- 7.Douglas J. Howe. Proving Congruence of Bisimulation in Functional Programming Languages. to appear in Information and Computation, 1996.Google Scholar
- 8.Robin Milner. Fully abstract models of typed lambda-calculi. Theoretical Computer Science, 4:1–22, 1977.Google Scholar
- 9.Robin Milner. Operational and Algebraic Semantics of Concurrent Processes. In Jan van Leeuwen, editor, Handbook of Theoretical Computer Science, pages 1201–1242. MIT Press/Elsevier, 1990.Google Scholar
- 10.Gordon D. Plotkin. LCF Considered as a Programming Language. Theoretical Computer Science, 5:223–255, 1977.Google Scholar
- 11.Davide Sangiorgi. The Lazy Lambda Calculus in a Concurrency Scenario. Information and Computation, 111(1):120–153, May 1994. Preliminary version appeared in Proc. 7th IEEE Symposium on Logic in Computer Science, 1992.Google Scholar
- 12.Jerzy Tiuryn and Mitchell Wand. Adding Input-Output to PCF (Technical Summary). submitted for publication, July 1995.Google Scholar
- 13.Jerzy Tiuryn and Mitchell Wand. Untyped Lambda-Calculus with Input-Output (Progress Report). presented at Atlantique meeting, La Jolla, June 1995.Google Scholar