AbstractWe propose FMJ (Featherweight Multi Java), an extension of Featherweight Java with encapsulated multi-methods thus providing dynamic overloading. 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 and flexible mechanism which enhances re-usability and separation of responsibilities. However, many mainstream languages, such as, e.g., Java, do not provide it, resorting to only static overloading.The proposed extension is conservative and type safe: both “message-not-understood” and “message-ambiguous” are statically ruled out. Possible ambiguities are checked during type checking only on method invocatio...
International audienceIn Java, method implementations are chosen at runtime by late-binding with res...
Abstract Overloading is a highly controversial programming language mech-anism by which different me...
Reflection and extensibility in object-oriented programming languages can be supported by meta-objec...
We propose FMJ (Featherweight Multi Java), an extension of Featherweight Java with en-capsulated mul...
Multi-methods (collections of overloaded methods associated to the same message, whose selection tak...
AbstractWe propose FMJ (Featherweight Multi Java), an extension of Featherweight Java with encapsula...
Class inheritance and method overriding, as provided by standard class-based languages, are not flex...
Abstract. Object composition is often advocated as a more flexible alternative to standard class inh...
We present an extension for a Java like language with a mechanism for dynamically exte...
In the context of statically-typed, class-based languages, we investigate classes that can be extend...
AbstractClass inheritance and method overriding, as provided by standard class-based languages, are ...
In this thesis I describe an extension to the Java language that supports type-safe dynamic code gen...
none3noWe present a language extension, which integrates in a Java like language a mechanism for dyn...
This paper presents a new static type system for multithreaded programs; any well-typed program in o...
This paper describes a flexible type and effect inference system for Featherweight Java (FJ). The ef...
International audienceIn Java, method implementations are chosen at runtime by late-binding with res...
Abstract Overloading is a highly controversial programming language mech-anism by which different me...
Reflection and extensibility in object-oriented programming languages can be supported by meta-objec...
We propose FMJ (Featherweight Multi Java), an extension of Featherweight Java with en-capsulated mul...
Multi-methods (collections of overloaded methods associated to the same message, whose selection tak...
AbstractWe propose FMJ (Featherweight Multi Java), an extension of Featherweight Java with encapsula...
Class inheritance and method overriding, as provided by standard class-based languages, are not flex...
Abstract. Object composition is often advocated as a more flexible alternative to standard class inh...
We present an extension for a Java like language with a mechanism for dynamically exte...
In the context of statically-typed, class-based languages, we investigate classes that can be extend...
AbstractClass inheritance and method overriding, as provided by standard class-based languages, are ...
In this thesis I describe an extension to the Java language that supports type-safe dynamic code gen...
none3noWe present a language extension, which integrates in a Java like language a mechanism for dyn...
This paper presents a new static type system for multithreaded programs; any well-typed program in o...
This paper describes a flexible type and effect inference system for Featherweight Java (FJ). The ef...
International audienceIn Java, method implementations are chosen at runtime by late-binding with res...
Abstract Overloading is a highly controversial programming language mech-anism by which different me...
Reflection and extensibility in object-oriented programming languages can be supported by meta-objec...