MetaCart Sign in to MyCiteSeerX

Include Citations | Advanced Search | Help

Disambiguated Search | Include Citations | Advanced Search | Help

Modules in LOOM: Classes are not enough (1998) [1 citations — 0 self]

by Kim B. Bruce ,  Leaf Petersen ,  Joseph Vanderwaart ,  Joseph V
Add To MetaCart

Abstract:

Pure object-oriented languages have tended to assume that classes can take the place of modules in programming in the large. We argue that modules are still needed in these languages and present the design of a module construct for our language LOOM which works well with the object-oriented paradigm. We discuss and illustrate the advantages of these modules over a class-only approach. In particular we illustrate the advantages of modules in supporting better control over information hiding, including the support of access like C++'s friends. Research paper: language design 1 Introduction As programmers and language designers have gotten more experience with object-oriented languages, it has become clearer that class boundaries are not always the correct abstraction layer for large programs. Interestingly it is the hybrid languages which have grown from ADT-style languages which have often provided the best support for modularity. Thus Ada 95 [Int95] and Modula-3 [CDG + 88] have int...

Citations

1208 Object-Oriented Software Construction – Meyer - 1988
168 Type Systems – Cardelli - 1997
140 Design patterns: Abstraction and reuse of object-oriented design – Gamma, Helm, et al. - 1993
73 Virtual Classes: A Powerful Mechanism in Object-Oriented Programming – Madsen, Moller-Pedersen - 1989
61 A statical safe alternative to virtual types – Bruce, Odersky, et al. - 1998
58 Using parameterized signatures to express modular structure – Jones - 1996
50 Independently extensible systems: Software engineering potential and challenges – Szyperski - 1996
48 Import is not inheritance. why we need both: Modules and classes – Szyperski
33 A type system for prototyping languages – Katiyar, Mitchell - 1995
30 Subtyping is not a good "Match" for object-oriented languages – Bruce, Fiech, et al. - 1997
27 Statically typed friendly functions via partially abstract types – Pierce, Turner - 1993
22 Strong typing of object-oriented languages revisited – Madsen, Magnusson - 1990
7 Abstraction mechanisms in Theta – Day, Gruber, et al. - 1994
7 A module system for LOOM. Williams College Senior Honors Thesis – Petersen - 1996
5 Krab Thorup. Genericity in Java with virtual types – Kresten - 1997
2 Ada 95 Reference Manual, version 6.0 – Intermetrics - 1995