Scalable component abstractions

Martin Odersky, Matthias Zenger
2005 SIGPLAN notices  
We identify three programming language abstractions for the construction of reusable components: abstract type members, explicit selftypes, and symmetric 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
more » ... ramework and a compiler front-end. All three abstractions have their theoretical foundation in the νObj calculus [OCRZ03]. They have been defined and
doi:10.1145/1103845.1094815 fatcat:eotba5bbyzcvlf34elfen5oqom