Abstract
We study systems where deterministic computations take place in environments which may behave nondeterministically. We give a simple formalization by unions of abstract reduction systems, on which various semantics can be based in a straightforward manner. We then prove that under a simple condition on the reduction systems, the following holds: reduction strategies which are cofinal for the deterministic reduction system will implement the semantics for the combined system, provided the environment behaves in a“fair” manner, and certain program transformations, such as folding and unfolding, will preserve the semantics. An application is evaluation strategies and program transformations for concurrent languages.
This work was done while the author was with Swedish Institute of Computer Science, under the support of the ESPRIT BRA project CONFER, project no. 6454, and with travel support from the HCM network EXPRESS.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
M. Abadi, L. Cardelli, P.-L. Curien, and J.-J. Lévy. Explicit substitutions. In Proc. Seventh Annual ACM Symposium on Principles of Programming Languages, pages 31–46, San Francisco, Jan. 1990.
S. Abramsky. The lazy lambda calculus. In D. A. Turner, editor, Research Topics in Functional Programming, The UT Year of Programming Series, chapter 4, pages 65–116. Addison-Wesley, Reading, MA, 1989.
Z. M. Ariola and Arvind. Properties of a first-order functional language with sharing. Theoret. Comput. Sci., 146:69–108, 1995.
J. Armstrong, R. Virding, and M. Williams. Concurrent Programming in ER-LANG. Prentice Hall, 1993.
A. Arnold, P. Naudin, and M. Nivat. On semantics of nondeterministic recursive program schemes. In M. Nivat and J. C. Reynolds, editors, Algebraic Methods in Semantics, chapter 1, pages 1–33. Cambridge University Press, 1985.
H. P. Barendregt. The Lambda Calculus — Its Syntax and Semantics, volume 103 of Studies in Logic and the Foundations of Mathematics. North-Holland, Amsterdam, 1981.
G. Boudol. Computational semantics of term rewriting systems. In M. Nivat and J. C. Reynolds, editors, Algebraic Methods in Semantics, chapter 5, pages 170–236. Cambridge University Press, 1985.
R. M. Burstall and J. Darlington. A transformation system for developing recursive programs. J. Assoc. Comput. Mach., 24(1):44–67, Jan. 1977.
B. Courcelle. Infinite trees in normal form and recursive equations having a unique solution. Math. System. Theory, 13:131–180, 1979.
B. Courcelle. Equivalence and transformations of regular systems. Theoret. Comput. Sci., 42:1–122, 1986.
B. Courcelle. Recursive applicative program schemes. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, chapter 9, pages 459–492. Elsevier Science Publishers B. V., 1990.
N. Dershowitz, S. Kaplan, and D. A. Plaisted. Rewrite, rewrite, rewrite, rewrite, rewrite, ... Theoret. Comput. Sci., 83(1):71–96, 1991.
J. A. Goguen, J. W. Thatcher, E. G. Wagner, and J. B. Wright. Initial algebra semantics ans continuous algebras. J. Assoc. Comput. Mach., 24(1):68–95, Jan. 1977.
G. Huet. Confluent reductions: Abstract properties and applications to term rewriting systems. J. Assoc. Comput. Mach., 27(4):797–821, Oct. 1980.
G. Huet and B. Lang. Proving and applying program transformations expressed with second-order patterns. Acta Inform., 11(1):31–S5, Jan. 1978.
J. Hughes and A. Moran. Making choices lazily. In Proc. Seventh Conference on Functional Programming Languages and Computer Architecture. ACM Press, June 1995.
N. D. Jones. Challenging problems in partial evaluation and mixed computation. In D. BjØrner, A. P. Ershov, and N. D. Jones, editors, Partial Evaluation and Mixed Computation. Proceedings of the IFIP TC2 Workshop, Gammel Avern∄s, Denmark, Oct. 1987, pages 1–14. North-Holland, 1988.
N. D. Jones, C. K. Gomard, and P. Sestoft. Partial Evaluation and Automatic Program Generation. Prentice Hall, Hertfordshire, UK, 1993.
R. Kennaway, J. W. Klop, R. Sleep, and F.-J. de Vries. Transfinite reductions in orthogonal term rewriting systems. Information and Computation, 119(1):18–38, May 1995.
J. W. Klop. Combinatory Reduction Systems. PhD thesis, CWI, Amsterdam, 1980. Mathematical Centre Tracts Nr. 127.
J. W. Klop. Term rewriting systems. In S. Abramsky, D. M. Gabbay, and T. S. E. Maibaum, editors, Handbook of Logic in Computer Science, vol. 2, chapter 1, pages 1–116. Oxford University Press, Oxford, 1992.
L. Kott. Unfold/fold program transformations. In M. Nivat and J. C. Reynolds, editors, Algebraic Methods in Semantics, chapter 12, pages 411–434. Cambridge University Press, 1985.
M. Nivat. On the interpretation of recursive polyadic program schemes. Symposia Mathematica, 15:255–281, 1975.
G. Plotkin. LCF considered as a programming language. Theoret. Comput. Sci., 5(3):223–256, Dec. 1977.
J.-C. Raoult and J. Vuillemin. Operational and semantic equivalence between recursive programs. J. Assoc. Comput. Mach., 27(4):772–796, Oct. 1980.
J. H. Reppy. CML: A higher order concurrent language. In Proc. SIGPLAN'91 Conference on Programming Language Design and Implementation, pages 293–305, 1991.
D. Sahlin. Partial evaluation of AKL. In Proc. First International Workshop on Concurrent Constraint Programming, Cà Dolfin, Venice, May 1995.
H. SØndergaard and P. Sestoft. Referential transparency, definiteness and unfoldability. Acta Informatica, 27:505–517, 1990.
B. Thomsen, L. Leth, and A. Giacalone. Some Facile chemistry. Tech. Rep. ECRC-92-14, European Computer-Industry Research Centre, 1992.
D. A. Turner, editor. Research Topics in Functional Programming. Addison-Wesley, Reading, MA, 1989.
V. van Oostrom. Private communication.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Lisper, B. (1996). Computing in unpredictable environments: Semantics, reduction strategies, and program transformations. In: Kirchner, H. (eds) Trees in Algebra and Programming — CAAP '96. CAAP 1996. Lecture Notes in Computer Science, vol 1059. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-61064-2_36
Download citation
DOI: https://doi.org/10.1007/3-540-61064-2_36
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-61064-9
Online ISBN: 978-3-540-49944-2
eBook Packages: Springer Book Archive