ACM Home Page
Please provide us with feedback. Feedback
Scalable component abstractions
Full text PdfPdf (651 KB)
Source Conference on Object Oriented Programming Systems Languages and Applications archive
Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications table of contents
San Diego, CA, USA
SESSION: Type types table of contents
Pages: 41 - 57  
Year of Publication: 2005
ISBN:1-59593-031-0
Also published in ...
Authors
Martin Odersky  EPFL, Lausanne
Matthias Zenger  Google Switzerland GmbH, Zürich
Sponsors
ACM: Association for Computing Machinery
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 20,   Downloads (12 Months): 139,   Citation Count: 30
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1094811.1094815
What is a DOI?

ABSTRACT

We identify three programming language abstractions for the construction of reusable components: abstract type members, explicit selftypes, and modular mixin composition. Together, these abstractions enable us to transform an arbitrary assembly of static program parts with hard references between them into a system of reusable components. The transformation maintains the structure of the original system. We demonstrate this approach in two case studies, a subject/observer framework and a compiler front-end.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
2
3
 
4
 
5
6
 
7
8
 
9
ECMA. C# Language Specification. Technical Report Standard ECMA-334, 2nd Edition, European Computer Manufacturers Association, December 2002.
 
10
E. Ernst. gBeta: A language with virtual attributes, block structure and propagating, dynamic inheritance. PhD thesis, Department of Computer Science, University of Aarhus, Denmark, 1999.
 
11
 
12
E. Ernst. Higher-Order Hierarchies. In L. Cardelli, editor, Proceedings ECOOP 2003, LNCS 2743, pages 303--329, Heidelberg, Germany, July 2003. Springer-Verlag.
13
 
14
15
 
16
17
 
18
 
19
20
 
21
 
22
G. Kiczales, J. Lamping, A. Menhdhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-oriented programming. In Proceedings of the 11th European Conference on Object-Oriented Programming, pages 220--242, Jyväskylä, Finland, 1997.
 
23
24
 
25
X. Leroy, D. Doligez, J. Garrigue, D. Rémy, and J. Vouillon. The Objective Caml system release 3.00, documentation and user's manual, April 2000.
 
26
R. Lopez-Herrejon, D. Batory, and W. Cook. Evaluating support for features in advanced modularization technologies. In Proceedings of the European Conference on Object-Oriented Programming, number July in Springer LNCS, 2005.
27
 
28
O. L. Madsen, B. Moller-Pedersen, and K. Nygaard. Object Oriented Programming in the BETA Programming Language. Addison Wesley, June 1993.
29
30
31
32
 
33
Object Technology International. Eclipse Platform Technical Overview, Feb. 2003. www.eclipse.org.
 
34
M. Odersky and al. An overview of the scala programming language. Technical Report IC/2004/64, EPFL Lausanne, Switzerland, 2004.
 
35
M. Odersky, V. Cremet, C. Röckl, and M. Zenger. A nominal theory of objects with dependent types. In Proc. ECOOP 2003, Springer LNCS 2743, July 2003.
36
 
37
M. Odersky and M. Zenger. Independently extensible solutions to the expression problem. In Proc. FOOL 12, Jan. 2005. http://homepages.inf.ed.ac.uk/wadler/fool.
 
38
39
 
40
D. Rémy and J. Vuillon. On the (un)reality of virtual types. available from http://pauillac.inria.fr/remy/work/virtual, Mar. 2000.
 
41
N. Schärli, S. Ducasse, O. Nierstrasz, and A. Black. Traits: Composable Units of Behavior. In Proceedings of the 17th European Conference on Object-Oriented Programming, Darmstadt, Germany, June 2003.
 
42
 
43
 
44
K. K. Thorup. Genericity in java with virtual types. In Proc. ECOOP '97, LNCS 1241, pages 444--471, June 1997.
 
45
M. Torgersen. The expression problem revisited --- Four new solutions using generics. In Proceedings of the 18th European Conference on Object-Oriented Programming, Oslo, Norway, June 2004.
 
46
M. Torgersen, E. Ernst, and C. P. Hansen. Wild FJ. In Proc. FOOL 12, Jan. 2005.
47
 
48
A. Wittmann. Towards Caesar: Family polymorphism for Java. Master's thesis, Technische Universität Darmstadt, Fachbereich Informatik, 2003.
 
49
M. Zenger. Erweiterbare Übersetzer. Master's thesis, University of Karlsruhe, August 1998.
 
50
 
51
 
52
M. Zenger. Programming Language Abstractions for Extensible Software Components. PhD thesis, Department of Computer Science, EPFL, Lausanne, March 2004.
 
53
M. Zenger and M. Odersky. Implementing extensible compilers. In ECOOP Workshop on Multiparadigm Programming with Object-Oriented Languages, Budapest, Hungary, June 2001.

CITED BY  30

Collaborative Colleagues:
Martin Odersky: colleagues
Matthias Zenger: colleagues