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 Bettini | 1 | 871 | 51.50 |
Sara Capecchi | 2 | 144 | 12.52 |
Betti Venneri | 3 | 206 | 16.45 |