Thursday, September 06, 2007

Resolving Unanticipated What, Again?

My homies Ducasse, Wuyts, Bergel and Nierstrasz have a paper at the upcoming (2007) OOPSLA entitled User-Changeable Visibility: Resolving Unanticipated Name Clashes in Traits. Their abstract, as listed on the OOPSLA Web site:

A trait is a unit of behaviour that can be composed with other traits and used by classes. Traits are an alternative to multiple inheritance. Conflict resolution of traits, while flexible, does not completely handle accidental method name conflicts: if a trait with method m is composed with another trait defining a different method m then resolving the conflict Mayo prove delicate or infeasible in certain cases. In this paper we present freezeable traits that provide an expressive composition mechanism to support unanticipated method composition conflicts. Our solution introduces private trait methods and lets the class composer change method visibility at composition time (from private to public and vice versa), something which is not possible in mainstream languages. Two class composers Mayo use different composition policies for the same traits. [...]

Thanks to Microsoft Word, perhaps? Or the Web-publishing software?

1 comment:

Michael Greenberg said...

Well, maybe their in-house codename for the system is "Sandwich".

I should add that freezing mayo will most likely cause the emulsion to break, leaving you with a jar of separated oil, vinegar, and egg. I'd like to see some evaluation on the feasibility of frozen mayo, particularly in regard to its shelf stability in refrigerator and room temperatures after thawing.