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
Subscribe and save
- Get 10 units per month
- Download Article/Chapter or eBook
- 1 Unit = 1 Article or 1 Chapter
- Cancel anytime Subscribe now
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
- Abelson, H., Sussman, G.J.: Structure and interpretation of computer programs. Cambridge, Mass.: MIT Press 1985
Google Scholar - Bauer, F.L., Wössner, H.: Algorithmic language and program development. Berlin Heidelberg New York: Springer 1982
Google Scholar - 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 - Broy, M.: A theory for nondeterminism, parallelism, communication, and concurrency. Theor. Comput. Sci. 45, 1–61 (1986)
Google Scholar - Clinger, W.: Nondeterministic call by need is neither lazy nor by name. Proc. 1982 Symp. Lisp Funct. Progr., Pittsburgh, Pennsylvania pp. 226–234, 1982
- Couturat, L.: Opuscules et fragments inédits de Leibniz. Hildesheim: Georg Olm 1961
Google Scholar - 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 - Hennessy, M.C.B., Ashcroft, E.A.: Parameter-passing mechanisms and nondeterminism. Proc. Ninth ACM Symp. Theory Comput., pp. 306–311. Boulder, Colorado 1977
- Hogger, C.J.: Introduction to logic programming. London: Academic Press 1984
Google Scholar - Horowitz, E.: Fundamentals of programming languages. Berlin Heidelberg New York: Springer 1983
Google Scholar - 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 - Quine, W.V.O.: Mathematical logic. New York: Norton 1940
Google Scholar - 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 - Quine, W.V.O.: Word and object. Cambridge, Mass: MIT Press 1960
Google Scholar - Søndergaard, H., Sestoft, P.: Non-determinism in functional languages. Comput. J. (to appear)
- Søndergaard, H., Sestoft, P.: Referential transparency and allied notions. University of Copenhagen, Denmark, DIKU Research Report 88/7, 1988
Google Scholar - Stoy, J.E.: Denotational semantics. Cambridge, Mass.: MIT Press 1977
Google Scholar - Strachey, C.: Fundamental concepts in programming languages. Int. Summer School in Computer Programming, Copenhagen, Denmark 1967 (unpublished)
Google Scholar - Waite, W.M., Goos, G.: Compiler construction. Berlin Heidelberg New York: Springer 1984
Google Scholar
Author information
Authors and Affiliations
- Department of Computer Science, University of Melbourne, 3052, Parkville, Vic., Australia
Harald Søndergaard - DIKU, University of Copenhagen, Universitetsparken 1, DK-2100, Copenhagen Ø, Denmark
Peter Sestoft
Authors
- Harald Søndergaard
You can also search for this author inPubMed Google Scholar - 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
- Received: 04 January 1990
- Issue Date: May 1990
- DOI: https://doi.org/10.1007/BF00277387