Proceedings of the 25th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages - POPL '98 1998
DOI: 10.1145/268946.268961
|View full text |Cite
|
Sign up to set email alerts
|

Classes and mixins

Abstract: While class-based object-oriented programming languages provide a flexible mechanism for re-using and managing related pieces of code, they typically lack linguistic facilities for specifying a uniform extension of many classes with one set of fields and methods. As a result, programmers are unable to express certain abstractions over classes.In this paper we develop a model of class-to-class functions that we refer to as mixins. A mixin function maps a class to an extended class by adding or overriding fields… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
261
0

Year Published

1999
1999
2012
2012

Publication Types

Select...
5
4
1

Relationship

1
9

Authors

Journals

citations
Cited by 352 publications
(261 citation statements)
references
References 17 publications
(3 reference statements)
0
261
0
Order By: Relevance
“…Using the extended reduction semantics of Felleisen and Hieb [6], the model scales to full Scheme without much ado. We also believe that we could build an algebraic stepper for Java-like languages, using the model of Flatt et al [11]. In contrast, it is an open question how to accommodate the GUI (callback) and concurrency facilities of our Scheme implementation [10], both in practice and in theory.…”
Section: Resultsmentioning
confidence: 99%
“…Using the extended reduction semantics of Felleisen and Hieb [6], the model scales to full Scheme without much ado. We also believe that we could build an algebraic stepper for Java-like languages, using the model of Flatt et al [11]. In contrast, it is an open question how to accommodate the GUI (callback) and concurrency facilities of our Scheme implementation [10], both in practice and in theory.…”
Section: Resultsmentioning
confidence: 99%
“…Other interesting extensions include supporting polymorphic types in the presence of separate typechecking and supporting module types and first-class modules to program mixin classes (Bracha and Cook, 1990;Flatt et al, 1998) and role-based programming (Reenskaug et al, 1992;VanHilst and Notkin, 1996;Smaragdakis and Batory, 1998). Finally, we are using the ideas in Dubious as a foundation for the design of Diesel, a practical programming language succeeding Cecil.…”
Section: Discussionmentioning
confidence: 99%
“…For brevity, the concrete and abstract operational semantics concern a small, relevant core subset of Java bytecode instructions rather than the full bytecode language. The core language is semantically connected to full Java bytecode through ClassicJava [13,14]. Bisimulation of the abstract and concrete machines provably satisfies a soundness property that relates abstract states to the concrete states they abstract.…”
Section: A Verification Examplementioning
confidence: 99%