Title
Featherweight Java with multi-methods
Abstract
Multi-methods (collections of overloaded methods associated to the same message, whose selection takes place dynamically instead of statically as in standard overloading) are a useful mechanism since they unleash the power of dynamic binding in object-oriented languages, so enhancing re-usability and separation of responsibilities. However, many mainstream languages, such as, e.g., Java, do not provide it, resorting to only static overloading. In this paper we propose an extension, we call FMJ (Featherweight Multi Java), of Featherweight Java with encapsulated multi-methods thus providing dynamic overloading. The extension is conservative and type safe: both "message-not-understood" and "message-ambiguous" are statically ruled out. Our core language can be used as the formal basis for an actual implementation of dynamic overloading in Java-like languages.
Year
DOI
Venue
2007
10.1145/1294325.1294337
PPPJ
Keywords
Field
DocType
formal basis,static overloading,core language,java-like language,encapsulated multi-methods,standard overloading,featherweight java,dynamic overloading,actual implementation,featherweight multi java,multi methods,object oriented language,dynamic binding
Programming language,Computer science,Real-time computing,Generics in Java,Core language,Java
Conference
Citations 
PageRank 
References 
4
0.43
24
Authors
3
Name
Order
Citations
PageRank
Lorenzo Bettini187151.50
Sara Capecchi214412.52
Betti Venneri320616.45