Skip to main content

A kernel language for abstract data types and modules

  • Conference paper
  • First Online:
Book cover Semantics of Data Types (SDT 1984)

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

Included in the following conference series:

Abstract

A small set of constructs can simulate a wide variety of apparently distinct features in modern programming languages. Using typed lambda calculus with bindings, declarations, and types as first-class values, we show how to build modules, interfaces and implementations, abstract data types, generic types, recursive types, and unions. The language has a concise operational semantics given by inference rules.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  • Bauer, F.L., Broy, M., Gnatz, R., Hesse, W., Krieg-Bruckner, B., Partsch, H., Pepper, P. and Wossner, H. (1978). Towards a wide spectrum language to support program specification and program development. SIGPLAN Notices 13, 15–24.

    Google Scholar 

  • Burstall, R. and Goguen, J. (1977). Putting theories together to make specifications. 5th Joint International Conference on Artificial Intelligence, Cambridge, MA, 1045–1058.

    Google Scholar 

  • Demers, A. and Donahue, J. (1980). Datatypes, parameters and type checking. 7th ACM Symposium on Principles of Programming Languages, Las Vegas, 12–23.

    Google Scholar 

  • Girard, J.-Y. (1972). Interpretation Fonctionelle et Elimination des Coupures dans l'Arithmetique d'Ordre Superieur, These de Doctorat d'etat, University of Paris.

    Google Scholar 

  • Gordon, M., Milner, R. and Wadsworth, C. (1979). Edinburgh LCF. Lecture Notes in Computer Science, Springer.

    Google Scholar 

  • Lampson, B. and Schmidt, E. (1983). Practical use of a polymorphic applicative language. 10th ACM Symposium on Principles of Programming Languages, Austin, TX.

    Google Scholar 

  • Landin, P. (1964). The Next 700 Programming Languages. Comm. ACM, 9, 157–166.

    Google Scholar 

  • MacQuecn, D. and Sethi, R. (1982). A higher order polymorphic type system for applicative languages. Symposium on Lisp and Functional Programming, Pittsburgh, PA, 243–252.

    Google Scholar 

  • MacQueen, D., Plotkin, G. and Sethi, R. (1984). An ideal model for recursive polymorphic types. 11th ACM Symposium on Principles of Programming Languages, Salt Lake City, UT.

    Google Scholar 

  • MacQueen, D. (1984). Modules for standard ML (draft), in Polymorphism (ed. L. Cardelli), Computer Science Dept., Bell Labs., Murray Hill, NJ (privately circulated).

    Google Scholar 

  • Martin-Lof, P. (1973). An intuitionistic theory of types: predicative part, in Logic Colloq. '73 (eds. H.E. Rose and J.C. Shepherdson) North-Holland, 73–118.

    Google Scholar 

  • McCracken, N. (1979). An Investigation of a Programming Language with a Polymorphic Type Structure. Ph.D. thesis, Computer and Information Science, Syracuse University, Syracuse, NY.

    Google Scholar 

  • Milner, R. (1978) A theory of type polymorphism in programming. JCSS 17 (3), 348–275.

    Google Scholar 

  • Mitchell, J., Maybury, W. and Sweet, R. (1979). Mesa Language Manual. Report Csl-79-3, Xerox Palo Alto Research Center, Palo Alto, CA.

    Google Scholar 

  • Pepper, P. (1979) A Study on Transformational Semantics. Dissertation, Fachbereich Mathematik, Technische Universitat München.

    Google Scholar 

  • Plotkin, G. (1981) A Structural Approach to Operational Semantics. Computer Science Dept. Report, Aarhus University.

    Google Scholar 

  • Reynolds, J. (1974) Towards a theory of type structure. Lecture Notes in Computer Science 19, Springer, 408–425.

    Google Scholar 

  • Reynolds, J. (1983) Types, abstraction and parametric polymorphism, in Information Processing 83, North-Holland.

    Google Scholar 

  • Schmidt, E. (1982) Controlling Large Software Development in a Distributed Environment. Report Csl-82-7, Xerox Palo Alto Research Center, Palo Alto, CA.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Gilles Kahn David B. MacQueen Gordon Plotkin

Rights and permissions

Reprints and permissions

Copyright information

© 1984 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Burstall, R., Lampson, B. (1984). A kernel language for abstract data types and modules. In: Kahn, G., MacQueen, D.B., Plotkin, G. (eds) Semantics of Data Types. SDT 1984. Lecture Notes in Computer Science, vol 173. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-13346-1_1

Download citation

  • DOI: https://doi.org/10.1007/3-540-13346-1_1

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-13346-9

  • Online ISBN: 978-3-540-38891-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics