Abstract
We present a relational model of non-strict computations in an imperative, non-deterministic context. Undefinedness is represented independently of non-termination. The relations satisfy algebraic properties known from other approaches to model imperative programs; we introduce additional laws that model dependence in computations in an elegant algebraic form using partial orders. Programs can be executed according to the principle of lazy evaluation, otherwise known from functional programming languages. Local variables are treated by relational parallel composition.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Backhouse, R.C., de Bruin, P.J., Hoogendijk, P., Malcolm, G., Voermans, E., van der Woude, J.: Polynomial relators (extended abstract). In: Nivat, M., Rattray, C., Rus, T., Scollo, G. (eds.) Algebraic Methodology and Software Technology, pp. 303–326. Springer, Heidelberg (1992)
de Bakker, J.W.: Semantics and termination of nondeterministic recursive programs. In: Michaelson, S., Milner, R. (eds.) Automata, Languages and Programming: Third International Colloquium, pp. 435–477. Edinburgh University Press (1976)
Berghammer, R., von Karger, B.: Relational semantics of functional programs. In: Brink, C., Kahl, W., Schmidt, G. (eds.) Relational Methods in Computer Science, ch. 8, pp. 115–130. Springer, Wien (1997)
Berghammer, R., Zierer, H.: Relational algebraic semantics of deterministic and nondeterministic programs. Theoretical Computer Science 43, 123–147 (1986)
Broy, M., Gnatz, R., Wirsing, M.: Semantics of nondeterministic and noncontinuous constructs. In: Bauer, F.L., Broy, M. (eds.) Program Construction. LNCS, vol. 69, pp. 553–592. Springer, Heidelberg (1979)
Dijkstra, E.W.: A Discipline of Programming. Prentice-Hall, Englewood Cliffs (1976)
Guttmann, W.: Non-termination in Unifying Theories of Programming. In: MacCaull, W., Winter, M., Düntsch, I. (eds.) RelMiCS 2005. LNCS, vol. 3929, pp. 108–120. Springer, Heidelberg (2006)
Guttmann, W.: Algebraic Foundations of the Unifying Theories of Programming. PhD thesis, Universität Ulm (December 2007)
Hennessy, M., Ashcroft, E.A.: The semantics of nondeterminism. In: Michaelson, S., Milner, R. (eds.) Automata, Languages and Programming: Third International Colloquium, pp. 478–493. Edinburgh University Press (1976)
Hesselink, W.H.: Programs, Recursion and Unbounded Choice. Cambridge University Press, Cambridge (1992)
Hoare, C.A.R., He, J.: Unifying theories of programming. Prentice Hall Europe (1998)
ISO/IEC. Information technology: Z formal specification notation: Syntax, type system and semantics. ISO/IEC 13568:2002(E) (July 2002)
Josephs, M.B.: Functional programming with side-effects. Science of Computer Programming 7, 279–296 (1986)
Launchbury, J.: Lazy imperative programming. In: Hudak, P. (ed.) Proceedings of the ACM SIGPLAN Workshop on State in Programming Languages, Yale University Research Report YALEU/DCS/RR-968, pp. 46–56 (1993)
Launchbury, J., Peyton Jones, S.: State in Haskell. Lisp and Symbolic Computation 8(4), 293–341 (1995)
Nelson, G.: A generalization of Dijkstra’s calculus. ACM Transactions on Programming Languages and Systems 11(4), 517–561 (1989)
Peyton Jones, S. (ed.): Haskell 98 Language and Libraries: The Revised Report. Cambridge University Press, Cambridge (2003)
Plotkin, G.D.: A powerdomain construction. SIAM Journal on Computing 5(3), 452–487 (1976)
Van Roy, P., Haridi, S.: Concepts, Techniques, and Models of Computer Programming. MIT Press, Cambridge (2004)
Schmidt, D.A.: Denotational Semantics: A Methodology for Language Development. William C. Brown Publishers (1986)
Schmidt, G.: Partiality I: Embedding relation algebras. Journal of Logic and Algebraic Programming 66(2), 212–238 (2006)
Schmidt, G., Hattensperger, C., Winter, M.: Heterogeneous relation algebra. In: Brink, C., Kahl, W., Schmidt, G. (eds.) Relational Methods in Computer Science, ch. 3, pp. 39–53. Springer, Wien (1997)
Schmidt, G., Ströhlein, T.: Relationen und Graphen. Springer, Heidelberg (1989)
Schröder, B.S.W.: Ordered Sets: An Introduction. Birkhäuser, Basel (2003)
Smithson, R.E.: Fixed points of order preserving multifunctions. Proceedings of the American Mathematical Society 28(1), 304–310 (1971)
Smyth, M.B.: Power domains. Journal of Computer and System Sciences 16(1), 23–36 (1978)
Søndergaard, H., Sestoft, P.: Non-determinism in functional languages. The Computer Journal 35(5), 514–523 (1992)
Walker, J.W.: Isotone relations and the fixed point property for posets. Discrete Mathematics 48(2–3), 275–288 (1984)
Woodcock, J., Davies, J.: Using Z. Prentice-Hall, Englewood Cliffs (1996)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Guttmann, W. (2008). Lazy Relations. In: Berghammer, R., Möller, B., Struth, G. (eds) Relations and Kleene Algebra in Computer Science. RelMiCS 2008. Lecture Notes in Computer Science, vol 4988. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-78913-0_12
Download citation
DOI: https://doi.org/10.1007/978-3-540-78913-0_12
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-78912-3
Online ISBN: 978-3-540-78913-0
eBook Packages: Computer ScienceComputer Science (R0)