Referential transparency, definiteness and unfoldability (original) (raw)

Summary

The term “referential transparency” is frequently used to indicate that a programming language has certain useful substitution properties. We observe, however, that the formal and informal definitions given in the literature are not equivalent and we investigate their relationships. To this end, we study the definitions in the context of a simple expression language and show that in the presence of non-determinism, the differences between the definitions are manifest. We propose a definition of “referential transparency”, based on Quine's, as well as of the related notions: definiteness and unfoldability. We demonstrate that these notions are useful to characterize programming languages.

Access this article

Log in via an institution

Subscribe and save

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Abelson, H., Sussman, G.J.: Structure and interpretation of computer programs. Cambridge, Mass.: MIT Press 1985
    Google Scholar
  2. Bauer, F.L., Wössner, H.: Algorithmic language and program development. Berlin Heidelberg New York: Springer 1982
    Google Scholar
  3. Bauer, F.L. et al. The Munich project CIP, vol. I: The wide spectrum language CIP-L (Lect. Notes Comput. Sci., vol. 183). Berlin Heidelberg New York: Springer 1985
    Google Scholar
  4. Broy, M.: A theory for nondeterminism, parallelism, communication, and concurrency. Theor. Comput. Sci. 45, 1–61 (1986)
    Google Scholar
  5. Clinger, W.: Nondeterministic call by need is neither lazy nor by name. Proc. 1982 Symp. Lisp Funct. Progr., Pittsburgh, Pennsylvania pp. 226–234, 1982
  6. Couturat, L.: Opuscules et fragments inédits de Leibniz. Hildesheim: Georg Olm 1961
    Google Scholar
  7. Frege, G.: Über Sinn und Bedeutung. Z. Philosophie philosophische Kritik 100, 25–50 (1892). English translation in: Geach, P., Black, M. (eds.) Translations from the philosophical writings of Gottlob Frege, pp. 56–78. Oxford: Blackwell 1952
    Google Scholar
  8. Hennessy, M.C.B., Ashcroft, E.A.: Parameter-passing mechanisms and nondeterminism. Proc. Ninth ACM Symp. Theory Comput., pp. 306–311. Boulder, Colorado 1977
  9. Hogger, C.J.: Introduction to logic programming. London: Academic Press 1984
    Google Scholar
  10. Horowitz, E.: Fundamentals of programming languages. Berlin Heidelberg New York: Springer 1983
    Google Scholar
  11. Leibniz, G.W.: Nouveaux essais sur l'entendement humain, III, 2. In: Gottfried Wilhelm Leibniz — Sämtliche Schriften und Briefe VI, 6. Berlin (GDR): Akademie-Verlag 1962
    Google Scholar
  12. Quine, W.V.O.: Mathematical logic. New York: Norton 1940
    Google Scholar
  13. Quine, W.V.O.: Reference and modality. In: From a logical point of view, pp. 139–159. Cambridge, Mass.: Harvard University Press 1953
    Google Scholar
  14. Quine, W.V.O.: Word and object. Cambridge, Mass: MIT Press 1960
    Google Scholar
  15. Søndergaard, H., Sestoft, P.: Non-determinism in functional languages. Comput. J. (to appear)
  16. Søndergaard, H., Sestoft, P.: Referential transparency and allied notions. University of Copenhagen, Denmark, DIKU Research Report 88/7, 1988
    Google Scholar
  17. Stoy, J.E.: Denotational semantics. Cambridge, Mass.: MIT Press 1977
    Google Scholar
  18. Strachey, C.: Fundamental concepts in programming languages. Int. Summer School in Computer Programming, Copenhagen, Denmark 1967 (unpublished)
    Google Scholar
  19. Waite, W.M., Goos, G.: Compiler construction. Berlin Heidelberg New York: Springer 1984
    Google Scholar

Download references

Author information

Authors and Affiliations

  1. Department of Computer Science, University of Melbourne, 3052, Parkville, Vic., Australia
    Harald Søndergaard
  2. DIKU, University of Copenhagen, Universitetsparken 1, DK-2100, Copenhagen Ø, Denmark
    Peter Sestoft

Authors

  1. Harald Søndergaard
    You can also search for this author inPubMed Google Scholar
  2. Peter Sestoft
    You can also search for this author inPubMed Google Scholar

Rights and permissions

About this article

Cite this article

Søndergaard, H., Sestoft, P. Referential transparency, definiteness and unfoldability.Acta Informatica 27, 505–517 (1990). https://doi.org/10.1007/BF00277387

Download citation

Keywords