Abstract
Strongly typed polymorphism is necessary for expressing safe reusable code. Two orthogonal forms of polymorphism exist: inclusion and parametric, the Oberon language only supports the former. We describe a simple extension to Oberon to support parametric polymorphism. The extension is in keeping with the Oberon language: it is simple and has an explicit cost. In the paper we motivate the need for parametric polymorphism and describe an implementation in terms of translating extended Oberon to standard Oberon.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
A V Aho, R Sethi, and J D Ullman. Compilers, principles, techniques, and tools. Addison-Wesley, 1986.
L Cardelli and P Wegner. On understanding types, data abstraction, and polymorphism. Computing Surveys, 17(4):471–522, December 1985.
M Day, R Gruber, B Liskov, and A Myers. Subtypes vs. Where Clauses: Constraining parametric polymorphism. In Proc, 10th Conf on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA '95), pages 156–168, October 1995.
K J Gough and G M Mohay. Modula-2: A Second Course in Programming. Prentice Hall, 1988.
B Liskov, D Curtis, M Day, S Ghemawat, R Gruber, P Johnson, and A C Myers. Theta Reference Manual, preliminary version. Programming Methodology Group Memo 88, MIT Laboratory for Computer Science, Cambridge, MA, February 1995.
B Liskov and J Guttag. Abstraction and Specification in Program Development. MIT Press, 1986.
B Liskov, A Snyder, R Atkinson, and C Schaffert. Abstraction mechanisms in clu. Comm ACM, 20(8):564–576, August 1977.
B Meyer. Eiffel — The Language. Prentice Hall, 2 edition, 1992.
R Morrison, A Dearle, R C H Connor, and A L Brown. An ad-hoc approach to the implementation of polymorphism. ACM TOPLAS, 13(3):342–371, 1991.
H Mössenböck. Object-Oriented Programming in Oberon-2. Springer Verlag, 1993.
B C Pierce. Bounded quantification is undecidable. Information and Computation, 112(1):131–165, July 1994.
M Reiser and N Wirth. Programming in Oberon — Steps beyond Pascal and Modula. Addison-Wesley, 1992.
G Smith and D Volpano. Towards an ML-style Polymorphic Type System for C. In 1996 Eurpoean Symposium on Programming, Linköping, Sweden, April 1996.
D Stoutamire and S Omohundro. Sather 1.1. Technical report, International Computer Science Institute, Berkeley, CA, 1996.
C Szyperski, S Omohundro, and S Murer. Engineering a Programming Languager-the Type and Class System of Sather. In Proc, 1st Intl Conf on Programming Languages and System Architectures, number 782 in Springer LNCS, Zurich, Switzerland, March 1994.
R D Tennent. Principles of Programming Languages. Prentice Hall Int., 1981.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Roe, P., Szyperski, C. (1997). Lightweight parametric polymorphism for Oberon. In: Mössenböck, H. (eds) Modular Programming Languages. JMLC 1997. Lecture Notes in Computer Science, vol 1204. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-62599-2_36
Download citation
DOI: https://doi.org/10.1007/3-540-62599-2_36
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-62599-5
Online ISBN: 978-3-540-68328-5
eBook Packages: Springer Book Archive