Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/512927.512938acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
Article
Free access

Types are not sets

Published: 01 October 1973 Publication History

Abstract

The title is not a statement of fact, of course, but an opinion about how language designers should think about types. There has been a natural tendency to look to mathematics for a consistent, precise notion of what types are. The point of view there is extensional: a type is a subset of the universe of values. While this approach may have served its purpose quite adequately in mathematics, defining programming language types in this way ignores some vital ideas. Some interesting developments following the extensional approach are the ALGOL-68 type system [vW], Scott's theory [S], and Reynolds' system [R]. While each of these lend valuable insight to programming languages, I feel they miss an important aspect of types.Rather than worry about what types are I shall focus on the role of type checking. Type checking seems to serve two distinct purposes: authentication and secrecy. Both are useful when a programmer undertakes to implement a class of abstract objects to be used by many other programmers. He usually proceeds by choosing a representation for the objects in terms of other objects and then writes the required operations to manipulate them.

References

[1]
{vW} van Wijngaarden, A., "Report on the Algorithmic Language ALGOL-68," Mathematische Centrum, 1969.]]
[2]
{S} Scott, D., "Outline of a Mathematical Theory of Computation," PRG-2, Oxford University.]]
[3]
{R} Reynolds, J. C., "A Set-Theoretic Approach to the Concept of Type," Argonne National Laboratories, 1969.]]
[4]
{D} Dahl, O. J., and Hoare, C. A. R., "Hierarchical Program Structure," Structural Programming, Academic Press, 1972.]]
[5]
{M} Morris, J. H., "Protection in Programming Languages," Comm ACM, 16 (1), Jan. 1973.]]
[6]
{W} Wulf, W. A., et. al., "Hydra: the Kernal of a Multiprocessor Operating System," Department of Computer Science, Carnegie Mellon University, June 1973.]]

Cited By

View all
  • (2019)Consistent Subtyping for AllACM Transactions on Programming Languages and Systems10.1145/331033942:1(1-79)Online publication date: 21-Nov-2019
  • (2018)Return of the Great Spaghetti Monster: Learnings from a Twelve-Year Adventure in Web Software DevelopmentWeb Information Systems and Technologies10.1007/978-3-319-93527-0_2(21-44)Online publication date: 19-Jun-2018
  • (2017)Parametricity versus the universal typeProceedings of the ACM on Programming Languages10.1145/31581262:POPL(1-23)Online publication date: 27-Dec-2017
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
POPL '73: Proceedings of the 1st annual ACM SIGACT-SIGPLAN symposium on Principles of programming languages
October 1973
242 pages
ISBN:9781450373494
DOI:10.1145/512927
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 October 1973

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Acceptance Rates

POPL '73 Paper Acceptance Rate 22 of 100 submissions, 22%;
Overall Acceptance Rate 824 of 4,130 submissions, 20%

Upcoming Conference

POPL '25

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)514
  • Downloads (Last 6 weeks)44
Reflects downloads up to 18 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2019)Consistent Subtyping for AllACM Transactions on Programming Languages and Systems10.1145/331033942:1(1-79)Online publication date: 21-Nov-2019
  • (2018)Return of the Great Spaghetti Monster: Learnings from a Twelve-Year Adventure in Web Software DevelopmentWeb Information Systems and Technologies10.1007/978-3-319-93527-0_2(21-44)Online publication date: 19-Jun-2018
  • (2017)Parametricity versus the universal typeProceedings of the ACM on Programming Languages10.1145/31581262:POPL(1-23)Online publication date: 27-Dec-2017
  • (2017)Protecting Against Malicious Bits On the WireProceedings of the 33rd Annual Computer Security Applications Conference10.1145/3134600.3134630(528-541)Online publication date: 4-Dec-2017
  • (2017)Polymorphic Manifest Contracts, Revised and ResolvedACM Transactions on Programming Languages and Systems10.1145/299459439:1(1-36)Online publication date: 6-Feb-2017
  • (2016)The Seven Turrets of Babel: A Taxonomy of LangSec Errors and How to Expunge Them2016 IEEE Cybersecurity Development (SecDev)10.1109/SecDev.2016.019(45-52)Online publication date: Nov-2016
  • (2016)Several Types of Types in Programming LanguagesHistory and Philosophy of Computing10.1007/978-3-319-47286-7_15(216-227)Online publication date: 6-Oct-2016
  • (2016)Types in Programming Languages, Between Modelling, Abstraction, and CorrectnessPursuit of the Universal10.1007/978-3-319-40189-8_17(164-169)Online publication date: 14-Jun-2016
  • (2014)In Search of TypesProceedings of the 2014 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming & Software10.1145/2661136.2661154(227-241)Online publication date: 20-Oct-2014
  • (2013)Program Development by Stepwise Refinement and Related TopicsBell System Technical Journal10.1002/j.1538-7305.1981.tb00246.x60:3(347-378)Online publication date: 29-Jul-2013
  • Show More Cited By

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