Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

Strong typing of object-oriented languages revisited

Published: 01 September 1990 Publication History

Abstract

This paper is concerned with the relation between subtyping and subclassing and their influence on programming language design. Traditionally subclassing as introduced by Simula has also been used for defining a hierarchical type system. The type system of a language can be characterized as strong or weak and the type checking mechanism as static or dynamic. Parameterized classes in combination with a hierarchical type-system is an example of a language construct that is known to create complicated type checking situations. In this paper these situations are analyzed and several different solutions are found. It is argued that an approach with a combination of static and dynamic type checking gives a reasonable balance also here. It is also concluded that this approach makes it possible to base the type system on the class/subclass mechanism.

References

[1]
P.S. Canning, W.R. Cook, W.L. Hill, W.G. Olthoff: Infer faces for Strongly-Typed Object. Oriented Programming, In OOPSLA'89, Object- Oriented Programming Systems, Languages and Applications, Sigplan Notices, Vol. 24, No. 10, Oct. 1989
[2]
W. }L Cook: A Proposal for Making Eiffel Type Safe, In ECOOP'89, European Conference on Object-Oriented Programming, Cambridge University Press 1989.
[3]
O.-:I Dahl and K. Nygaard: Simula-67 Common Base Language Publication S-22, Norwegian Computing Center, Oslo 70, 72, 84. Current version: Programming Language- Simula, Swedish Stan, lard SS.63.61.14, ISBN-91-7162-234-9
[4]
O.-J. Dahl and K. Nygaard: The Development of the Simula Languages, In History of Programming Languages, ed. R. W. Wexelblat, Academic Press, New York, 1981.
[5]
A. (}oldberg and D. Robson: Smalltalk-80: The Language and its Implementation, Addison- Wesl,;y Publishing Company, 1983.
[6]
B.B. Kristensen, O.L. Madsen, B. M~ller- Pedersen, K. Nygaard: Syntaz Directed Program Modularization, In: Interactive Computing Systems (ed. P. Degano, E. Sandewall), North- Holland, 1983
[7]
B.B. Kristensen, O.L. Madsen, B. M~ller- In: tI.D. Shriver, P.Wegner (ed.), Research Diveeries8 in Object-Oriented Programming, MIT Press, 1987.
[8]
O.L. Madsen and B. M~ller-Pedetsen: What Object-Oriented Programming may be -- and what it does not have ~o be In ECOOP'88, European Conference on Object-Oriented Programming, Lecture Notes In Computer Science, Vol. 322,~;pringer Verlag, 1988.
[9]
O.L. Madsen and B. M~llex-Pedersen: Virtual Cla~s.s -- A Powerful Mechanism in Object- Oriented Programming, In OOPSLA'89, Object- Oriented Programming Systems, Languages and Appli,:ations, Sigplan Notices, Vol. 24, No. 10, Oct. 1.989
[10]
B. M,.~yer: Objec~ Oriented Software Construction, Prentice-Hall 1988
[11]
B. M,~yer: Static Typing fo~" Eiffel. Interactive Software Engineering Inc., July 2, 1989
[12]
K. Nygaard: Basic Concepts in Object Oriented Programming, Sigplaa Notices, Vol; 21, No. 10, 128-132 (October 1986).
[13]
:I. Pa{sberg. M. I. Schwartzbach: Substitution Polymorphism for Object-Orienged Programming, In OOPSLA/ECOOP'90, Object-Oriented Programming Systems, Languages and Applications, Sigplan Notices~ 1990.
[14]
C. Schaffert et. al: An Introduction to Trel. Its//Owl, In OOPSLA86, Object-Oriented Programming Systems, Languages and Applications, Sigplan Notices, Vol. 21, No. 11, Nov. 1986.
[15]
B. Stroustrup: The C-/-+ Programming Language, Addison Wesley, 1986.
[16]
N. Wirth : The Programming Language Pascal, Acta Informatica 1, 1971, 35-63.

Cited By

View all
  • (2017)Exploiting type hints in method argument names to improve lightweight type inferenceProceedings of the 25th International Conference on Program Comprehension10.1109/ICPC.2017.33(77-87)Online publication date: 20-May-2017
  • (2007)The when, why and why not of the BETA programming languageProceedings of the third ACM SIGPLAN conference on History of programming languages10.1145/1238844.1238854(10-1-10-57)Online publication date: 9-Jun-2007
  • (2006)TraitsACM Transactions on Programming Languages and Systems10.1145/1119479.111948328:2(331-388)Online publication date: 1-Mar-2006
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 25, Issue 10
Oct. 1990
320 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/97946
Issue’s Table of Contents
  • cover image ACM Conferences
    OOPSLA/ECOOP '90: Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
    September 1990
    336 pages
    ISBN:0897914112
    DOI:10.1145/97945
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 September 1990
Published in SIGPLAN Volume 25, Issue 10

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)77
  • Downloads (Last 6 weeks)9
Reflects downloads up to 12 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2017)Exploiting type hints in method argument names to improve lightweight type inferenceProceedings of the 25th International Conference on Program Comprehension10.1109/ICPC.2017.33(77-87)Online publication date: 20-May-2017
  • (2007)The when, why and why not of the BETA programming languageProceedings of the third ACM SIGPLAN conference on History of programming languages10.1145/1238844.1238854(10-1-10-57)Online publication date: 9-Jun-2007
  • (2006)TraitsACM Transactions on Programming Languages and Systems10.1145/1119479.111948328:2(331-388)Online publication date: 1-Mar-2006
  • (2006)Subtyping is not a good “match” for object-oriented languagesECOOP'97 — Object-Oriented Programming10.1007/BFb0053376(104-127)Online publication date: 23-May-2006
  • (2005)Dynamic extensibility in a statically-compiled object-oriented languageObject Technologies for Advanced Software10.1007/3-540-57342-9_80(297-314)Online publication date: 30-May-2005
  • (2003)Traits: Composable Units of BehaviourECOOP 2003 – Object-Oriented Programming10.1007/978-3-540-45070-2_12(248-274)Online publication date: 2003
  • (2000)On the role of language constructs for framework designACM Computing Surveys10.1145/351936.35194432:1es(8-es)Online publication date: 1-Mar-2000
  • (1999)Semantic analysis of virtual classes and nested classesACM SIGPLAN Notices10.1145/320385.32039434:10(114-131)Online publication date: 1-Oct-1999
  • (1999)Semantic analysis of virtual classes and nested classesProceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications10.1145/320384.320394(114-131)Online publication date: 1-Oct-1999
  • (1994)Covariant specificationACM SIGPLAN Notices10.1145/193209.19322129:12(58-65)Online publication date: 1-Dec-1994
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media