Skip to main content

The D-Calculus: A System to Describe the Semantics of Programs Involving Complex Data Types

Summary

  • Chapter
GI-4.Jahrestagung

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 26))

  • 829 Accesses

Abstract

Variants of the λ-calculus together with D. Scott’s lattice-theoretic models have turned out to be a basic tool for describing the semantics of programming languages (e.g. [LANDIN 66], [REYNOLDS 72, 74], [SCOTT 74], [SCOTT-STRACHEY 71]). Based upon these approaches, in LCF [WEYHRAUCH-MILNER 72] a typed λ-calculus has been imbedded into a type theory providing a system in which properties about programs can be proven and programs can be constructed according to the properties being specified. The D-calculus presented in this paper contains essentially three new concepts that extend and refine the above systems:

  1. (1)

    The D-calculus is an overtyped system combining the advantages of both typed and untyped systems without having the restrictions brought about by types. Hence, e.g. the semantics of programming language constructs having side effects and procedures taking arbitrary procedures as arguments as well as the intricacies of modes in ALGOL 68 can be adequately described in overtyped systems. A detailed account of overtyping the λ-calculus and such examples of applications is given in [RAULEFS 74].

  2. (2)

    Abstract data types are introduced in terms of inverse systems of complete partially ordered sets (cpo-sets) that are refinements of the lattices developed by Scott and reflect the structure of data types more closely.

  3. (3)

    The β-reduction mechanism of the λ-calculus is generalized to matching the binder to the argument — i.e. computing a substitution that makes the binder equal to the argument — and applying this substitution to the body of the λ-term. The control structure of “sugared” λ-calculi is generalized by using a pattern matching mechanism.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 49.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Landin, P. A λ-calculus approach. In Advances in Programming and Non-Numerical Computation, L. Fox (ed.), Pergamon Press, 1966: 97–141.

    Google Scholar 

  2. Raulefs, P. The overtyped A-calculus and its application for describing semantics of programming languages. Technical Report, Inst. f. Informatik I, Karlsruhe Univ., Nov. 1974.

    Google Scholar 

  3. Raulefs, P. Dissertation, 1975

    Google Scholar 

  4. Reynolds, J.C. Definitional interpreters for higer-order programming languages. Proc. ACM 1972 Ann. Conf.: 717–740

    Google Scholar 

  5. Reynolds, J.C. Notes on a lattice-theoretic approach to the theory of computation. Tech. Rep., Systems and Information Science Dept., Syracuse University, 1972.

    Google Scholar 

  6. Reynolds, J.C. On the relation between direct and continuation semantics. Proc. 2nd Coll. on Automata, Languages and Programming 1974 (ed. J. Loeckx), Springer Lecture Notes in Computer Science vol. 14 (1974): 141–156.

    Google Scholar 

  7. Scott, D. Data types as lattices. Mimeographed notes, Kiel International Summer School and Logic Conference, 1974.

    Google Scholar 

  8. Scott, D. and C. Strachey. Towards a mathematical semantics for computer languages. Proc. Symp. Computer and Automata, Polytechnic Inst. of Brooklyn, 1971: 19–46.

    Google Scholar 

  9. Tennent, R.D. Mathematical semantics of SNOBOL4. Proc. ACM Symp. Principles of Programming Languages, Boston, Oct. 1973: 95–107.

    Google Scholar 

  10. Weyhrauch, R. and R. Milner. Program semantics and correctness in a mechanized logic. Proc. 1st USA-.Japan Comp. Conf., 1972: 384–392.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1975 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Raulefs, P. (1975). The D-Calculus: A System to Describe the Semantics of Programs Involving Complex Data Types. In: Siefkes, D. (eds) GI-4.Jahrestagung. Lecture Notes in Computer Science, vol 26. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-40087-6_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-662-40087-6_10

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-662-39104-4

  • Online ISBN: 978-3-662-40087-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics