Abstract
We present a mathematical theory of class. The theory is general, in that it encompasses many different approaches to type abstraction, such as type constructors, generic parameters, classes, inheritance and polymorphism. The theory is elegant, in that it is based on a simple Generalization of F-bounds. The theory has timely implications for emerging OMG standards and future language designs.
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
Abadi, M. and Cardelli, L., (1995), ‘On subtyping and matching’, Proc. 9th European Conf. Object-Oriented Prog., Aarhus, Denmark, pub. Lecture Notes in Computer Science, 952, ed. W.Olthoff, Springer Verlag, 145–167.
America, P., (1990), ‘Designing an object-oriented language with behavioural subtyping’, Proc. Conf. Foundations of Object-Oriented Lang., 60–90.
Bruce, K., Crabtree, J., Murtagh, T. and van Gen t, R., (1993), ‘Safe and decidable type-checking in an object-oriented language’, Proc. 8th ACM Conf. Object-Oriented Prog. Sys., Lang, and Appl., pub. ACM Sigplan Notices, 28 (10), 29–46.
Bruce, K., (1994), ‘A paradigmatic object-oriented programming language: design, static typing and semantics’, 7. of Func. Prog., 4(2), 127–206.
Canning, P., Cook, W., Hill, W., Olthoff, W. and Mitchell, J., (1989), ‘F-bounded polymorphism for object-oriented programming’, Proc. 4th Int. Conf. Func. Prog. Lang, and Arch., Imperial College London, September, 273–280.
Canning, P., Cook, W., Hill, W. and Olthoff, W., (1989), ‘Interfaces for strongly-typed objectoriented programming’, Proc. 4th ACM Conf. Object-Oriented Prog. Sys., Lang and Appl., pub. ACM Sigplan Notices, 24 (10), 457–467.
Cardelli, L. and Wegner, P., (1985), ‘On understanding types, data abstraction and polymorphism’, ACM Computing Surveys, 17(4 ), 471–521.
Cardelli, L., (1988), ‘Structural subtyping and the notion of power type’, Proc. 15th ACM Symp. Principles of Prog. Langs., 70–79.
Cardelli, L., Donahue, J., Glassman, L., Jordan, M., Kalsow, B. and Nelson, G., (1989), ‘Modula-3 report (revised)’, Tech. Rep. 52, Digital Equipment Corporation Systems Research Centre.
Cook, W., (1989), ‘A proposal for making Eiffel type-safe’, Proc. 3rd European Conf. Object-Oriented Prog., 57–70.
Cook, W., Hill, W. and Canning, P., (1990), ‘Inheritance is not subtyping’, Proc. 17th ACM Symp. Principles of Prog. Lang., 125–135.
Day, M., Gruber, R., Liskov, B. and Meyers, A. C., (1995), ‘Subtypes vs. where clauses: constraining parametric polymorphism’, Proc. 10th ACM Conf. Object-Oriented Prog. Sys., Lang, and Appl., pub. ACM Sigplan Notices 30(10), 156–168.
Eifrig, J., Smith, S., Trivonov, V. and Zwarico, A., (1994), ‘Application of object-oriented type theory: state, decidability and integration’, Proc. 9th ACM Conf. Object-Oriented Prog. Sys.,Lang, and Appl., pub. ACM Sigplan Notices, 29 (10), 16–30.
Girard, J.-Y., (1972), ‘Interpretation fonctionelle et elimination des coupures de l’arithmetique d’ordre superieur’, PhD Thesis, Universite Paris VII.
Ichbiah, J. Et al. (1979), Rationale and design of the programming language Ada’, ACM Sigplan Notices, 14(8).
Liskov, B., (1987), ‘Data abstraction and hierarchy’, Addendum to Proc. 2nd ACM Conf. Object-Oriented Prog. Sys., Lang, and Appl., 17–34.
Meyer, B., (1992), Eiffel: the Language, Prentice Hall.
Meyers, S., (1992), Effective C++: 50 Ways to Improve your Programs and Designs, Addison-Wesley.
Milner, R., (1978), A theory of type polymorphism in programming, J. Computer and System Sciences, 17, 348–375.
The Object Management Group (1991), The Common Object Request Broker: Architecture and Specification, Revision 1.1, OMG.
Omohundro, S., (1994), The Sather 1.0 Specification, ICSI Berkley.
Reynolds, J.C., (1974), ‘Towards a theory of type structure’, Proc. Coll. sur la Programmation, pub. LNCS 19, Springer Verlag, 408–425.
Sakkinen, M., (1989), ‘Disciplined inheritance’, Proc. 3rd European Conf. Object-Oriented Prog., 3–24.
Shaffert, C., Cooper, T., Bullis, B., Killian, M. and Wilpolt, C., (1986), “An introduction to Trellis/Owl”, Proc. 1st ACM Conf. Object-Oriented Prog. Sys., Lang, and Appl, 9–16.
Simons, A.J.H., (1995a), ‘Rationalising Eiffel’s type system’, Proc. 18th Conf. Techn. Object-Oriented Lang. and Sys., eds. R Duke, C Mingins and B Meyer, Prentice-Hall, 365–377.
Simons, A. J. H., (1995b), A Language with Class, PhD Thesis, University of Sheffield.
Snyder, A., (1987), ‘Inheritance and the development of encapsulated software components’ in:Research Directions in Object-Oriented Programming, eds. B Shriver and P Wegner, MIT Press, 165–188.
Stroustrup, B., (1991), The C++ Programming Language, 2nd Edn., Addison-Wesley.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1997 Springer-Verlag London Limited
About this paper
Cite this paper
Simons, A.J.H. (1997). A Theory of Class. In: Patel, D., Sun, Y., Patel, S. (eds) OOIS’96. Springer, London. https://doi.org/10.1007/978-1-4471-0973-0_4
Download citation
DOI: https://doi.org/10.1007/978-1-4471-0973-0_4
Publisher Name: Springer, London
Print ISBN: 978-3-540-76132-7
Online ISBN: 978-1-4471-0973-0
eBook Packages: Springer Book Archive