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.
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