[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/800182.810389acmconferencesArticle/Chapter ViewAbstractPublication Pagesacm-national-conferenceConference Proceedingsconference-collections
Article
Free access

Mechanical construction of type-checking predicates for extensible data types

Published: 01 January 1974 Publication History

Abstract

The intent of this paper is to propose a simple mechanical procedure by which type checking predicates can be constructed for extensible sets of data types. Type checking under these circumstances is nontrivial because the potentially infinite (or at least very large) number of types makes it impossible (or at least very expensive) to encode type information into a fixed length tag that could be associated with each data item. To give substance to the discussion, the proposal is developed in terms of several basic data types and constructors for recursively defining aggregate data types of arbitrary structural complexity. A predicate for an aggregate type is defined in terms of the predicates for its various constituent types. It is hoped that the procedure discussed here could be exploited in a type-checking mechanism for any environment in which new data types can be synthesized out of existing ones.

References

[1]
Brosgol, B.M., An implementation of ECL data types, Proc. Intl. Symp on Extensible Languages, SIGPLAN Notices 6, 12 (December 1971), pp. 87-95.
[2]
Jorrand, P., Data types and extensible languages, Proc. Intl. Symp. on Extensible Languages, SIGPLAN Notices 6, 12 (December 1971), pp. 75-83.
[3]
Ledgard, H.F., A model for type checking - with an application to ALGOL 60, CACM 15, 11(November 1972), pp. 956-966.
[4]
Morris, J.H., Lambda calculus models for programming languages, MAC-TR-57, M.I.T., Cambridge, Mass., 1968.
[5]
Robbin, J.M., Mathematical logic: a first course, W.A. Benjamin, Inc., New York, 1969, pp.32-34.
[6]
Schumann, S.A. and P. Jorrand, Definition mechanisms in extensible programming languages, Proc. AFIPS 1970 FJCC, vol. 37, AFIPS Press, Montvale, N.J., pp. 9-20.
[7]
van Wijngaarden, A. et al, Report on the algorithmic language ALGOL 68, Num. Math., vol. 14, pp. 79-218.
[8]
Wegner, P., The vienna definition language, Computing Surveys 4, 1(March 1972), pp. 5-63.

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ACM '74: Proceedings of the 1974 annual conference - Volume 1
January 1974
379 pages
ISBN:9781450374828
DOI:10.1145/800182
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 January 1974

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Extensible types
  2. Predicate
  3. Type constructor
  4. Type-checking

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 176
    Total Downloads
  • Downloads (Last 12 months)31
  • Downloads (Last 6 weeks)4
Reflects downloads up to 04 Jan 2025

Other Metrics

Citations

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media