Proceedings of the 20th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications 2005
DOI: 10.1145/1094811.1094815
|View full text |Cite
|
Sign up to set email alerts
|

Scalable component abstractions

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.

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
2

Citation Types

1
68
0

Year Published

2006
2006
2019
2019

Publication Types

Select...
6
1
1

Relationship

1
7

Authors

Journals

citations
Cited by 149 publications
(69 citation statements)
references
References 46 publications
1
68
0
Order By: Relevance
“…The programming language Scala proposes a new model for component systems [28]. Components in this model are classes, which can be combined using nesting and mixin composition.…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation
“…The programming language Scala proposes a new model for component systems [28]. Components in this model are classes, which can be combined using nesting and mixin composition.…”
Section: Introductionmentioning
confidence: 99%
“…Furthermore, the identification of modules and objects provides new ways to formulate standard programming tasks such as the expression problem [14,33,27] and family polymorphism [12,28].…”
Section: Introductionmentioning
confidence: 99%
“…The Cake pattern [34,54], in the Scala programming language, is an exception. This pattern uses virtual types, self types, path-dependent types and (static) mixin composition to model family polymorphism.…”
Section: Related Workmentioning
confidence: 99%
“…Kompics is related to work in several areas: concurrent programming mod- Kompics's message-passing concurrency model is similar to the actor model [23], of which Erlang [12], the Unix lter and pipe model, Kilim [14] and Scala [13] are, perhaps, the best known examples. Similar to the actor model, message passing in Kompics involves bu ering events before they are handled in a rst-in rst-out (FIFO) order, thus, decoupling the thread that sends an event from the thread that handles an event.…”
Section: Related Workmentioning
confidence: 99%