Skip to main content

Wide Classes

  • Conference paper
  • First Online:
ECOOP’ 99 — Object-Oriented Programming (ECOOP 1999)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1628))

Included in the following conference series:

Abstract

This paper introduces the concepts of wide classes and widening as extensions to the object model of class-based languages such as Java and Smalltalk. Widening allows an object to be temporarily widened, that is transformed into an instance of a subclass, a wide class, and, later on, to be shrunk, that is reshaped to its original class. Wide classes share the main properties of plain classes: they have a name, a superclass, they may be instantiated, they have an associated class predicate and an associated type that may be used to override function definitions.

Widening is also useful to implement transient data storage for long-lasting computations. In particular, it helps reducing software data retention. This phenomenon arises when the actual data structures used in a program fail to reflect time-dependent properties of values and can cause excessive memory consumption during the execution. Wide classes may be implemented for any dynamically-typed class-based programming language with very few modifications to the existing run-time system. We describe the simple and efficient implementation strategy used in the Bigloo runtime system.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. D. Bobrow, L. DeMichiel, R. Gabriel, S. Keene, G. Kiczales, and D. Moon. Common lisp object system specification. In special issue, number 23 in Sigplan Notices, September 1988.

    Google Scholar 

  2. C. Chambers. The Cecil Language: Specification and Rationale. Technical Report 93-03-05, University of Washington, Department of computer Science and Engineering, March 1993.

    Google Scholar 

  3. C. Chambers. Predicate classes. In O. Nierstrasz, editor, Proceedings ECOOP’93, LNCS 707, pages 268–296, Kaiserslautern, Germany, July 1993. Springer-Verlag.

    Google Scholar 

  4. L. Damas and R. Milner. Principle Type Inference for Functional Programs (extended abstract). In 9th ACM Symposium on Principle of Programming Langugages, pages 207–212, 1982.

    Google Scholar 

  5. A. Goldberg and D. Robson. Smalltalk-80: The Language and Its Implementation. Addison-Wesley, 1983.

    Google Scholar 

  6. J. Hamer. Un-Mixing Inheritance with Classifiers. In Multiple Inheritance and Multiple Subtyping: Position papers of the ECOOP’92 Workshop, LNCS 707, pages 6–9, Utrect, Netherlands, July 1992. Springer-Verlag.

    Google Scholar 

  7. IEEE Std 1178-1990. IEEE Standard for the Scheme Programming Language. Institute of Electrical and Electronic Engineers, Inc., New York, NY, 1991.

    Google Scholar 

  8. C. Queinnec. Designing meroon v3. In Workshop on Object-Oriented Programming in Lisp, 1993.

    Google Scholar 

  9. D. Rémy and J. Vouillon. Obective ML: A simple object-oriented extension of ML. In Symposium on Principles of Programming Languages, pages 40–53, 1997.

    Google Scholar 

  10. F. Rivard. évolution du comportement des objets dans les langages à classes réflexifs. 98-1-info, école des Mines de Nantes, 1998.

    Google Scholar 

  11. R. Schmidt. Dynamically Extensible Objects in a Class-Based Language. In TOOLS USA, July 1997.

    Google Scholar 

  12. A. Taivalsaari. Object-oriented programming with modes. Journal of Object-oriented programming, pages 25–32, June 1993.

    Google Scholar 

  13. D. Ungar. The Design and Evaluation of a High Performance Smalltalk System. MIT Press, Cambridge, Mass., USA, 1986.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Serrano, M. (1999). Wide Classes. In: Guerraoui, R. (eds) ECOOP’ 99 — Object-Oriented Programming. ECOOP 1999. Lecture Notes in Computer Science, vol 1628. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48743-3_18

Download citation

  • DOI: https://doi.org/10.1007/3-540-48743-3_18

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-66156-6

  • Online ISBN: 978-3-540-48743-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics