Abstract
In this talk we discuss the problem of simultaneously refining mutually interdependent classes and object types. We discuss possible solutions using existing static type systems that include parametric polymorphism. A statically type-safe solution is presented that involves the introduction of type groups, a construct that can be understood as a generalization of the MyType construct introduced in a statically type-safe way in languages like PolyTOIL [3] and LOOM [2].
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Birtwistle, G.M., Dahl, O.-J., Myhrhaug, B., Nygaard, K.: SIMULA Begin. Aurbach (1973)
Bruce, K.B., Fiech, A., Petersen, L.: Subtyping is not a good “match” for object-oriented languages. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 104–127. Springer, Heidelberg (1997)
Bruce, K.B., Schuett, A., van Gent, R.: PolyTOIL: A type-safe polymorphic object-oriented language. TOPLAS 25(2), 225–290 (2003)
Bruce, K.B., Vanderwaart, J.C.: Semantics-driven language design: Statically type-safe virtual types in object-oriented languages. In: Electronic notes in Theoretical Computer Science, vol. 20, 26 pages (1999), URL: http://www.elsevier.nl/locate/entcs/volume20.html
Bruce, K., Odersky, M., Wadler, P.: A statically safe alternative to virtual types. In: Jul, E. (ed.) ECOOP 1998. LNCS, vol. 1445, pp. 523–549. Springer, Heidelberg (1998)
Bruce, K.: Foundations of Object-Oriented Languages: Types and Semantics. MIT Press, Cambridge (2002)
Ernst, E.: Family polymorphism. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 303–326. Springer, Heidelberg (2001)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Abstraction and reuse of object-oriented designs. Addison-Wesley, Reading (1994)
Goldberg, A., Robson, D.: Smalltalk–80: The language and its implementation. Addison-Wesley, Reading (1983)
Kristensen, B.B., Madsen, O.L., Moller-Pedersen, B., Nygaard, K.: The beta programming language. In: Shriver, B., Wegner, P. (eds.) Research Directions in Object-Oriented Programming, pp. 7–48. M.I.T. Press, Cambridge
Madsen, O.L., Moller-Pedersen, B.: Virtual classes: A powerful mechanism in object-oriented programming. In: OOPSLA 1989 Proceedings, pp. 397–406 (1989)
Meyer, B.: Eiffel: the language. Prentice-Hall, Englewood Cliffs (1992)
Wadler, P.: The expression problem. Message to Java-genericity electronic mail list, November 12 (1998)
Cook, W.: Object-oriented programming versus abstract data types. In: Proc. of the REX Workshop/School on the Foundations of Object-Oriented Languages (FOOL). LNCS, vol. 173, pp. 151–178. Springer, Heidelberg (1990)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bruce, K.B. (2004). Bending without Breaking: Making Software More Flexible. In: Broy, M., Zamulin, A.V. (eds) Perspectives of System Informatics. PSI 2003. Lecture Notes in Computer Science, vol 2890. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-39866-0_6
Download citation
DOI: https://doi.org/10.1007/978-3-540-39866-0_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-20813-6
Online ISBN: 978-3-540-39866-0
eBook Packages: Springer Book Archive