Mainstream object-oriented languages, such as C++ and Java1, provide only a restricted form of polymor-phic methods, namely uni-receiver dispatch. In com-mon programming situations, developers must work around this limitation. We describe how to extend the Java Virtual Machine to support multi-dispatch and ex-amine the complications that Java imposes on multi-dispatch in practice. Our technique avoids changes to the Java programming language itself, maintains source code and library compatibility, and isolates the perfor-mance penalty and semantic changes of multi-method dispatch to the program sections which use it. We have micro-benchmark and application-level performance re-sults for a dynamic Most Specific Applicable (MSA) dispatcher, a...
New programming languages are frequently designed to improve upon other languages or to simplify pro...
New programming languages are frequently designed to improve upon other languages or to simplify pro...
MultiJava is an extension of the Java Programming Language with open classes and symmetric multiple ...
Multiple dispatch uses the run time types of more than one argument to a method call to determine wh...
Multiple dispatch offers several well-known advantages over the single dispatching of conventional o...
In java, method dispatch is done at runtime, by late-binding, with respect to the dynamic type of th...
International audienceIn Java, method implementations are chosen at runtime by late-binding with res...
Many popular object-oriented programming languages, such as C++, Smalltalk-80, Java, and Eiffel, do ...
Multiple dispatch allows determining the actual method to be executed, depending on the dynamic type...
AbstractGoals of flexibility and re-usability in typed object-oriented languages suggest the require...
Permission is granted for noncommercial reproduction of the work for educational or research purpose...
Multiple dispatching provides increased expressive power over single dispatching by guiding method l...
多重分派是面向对象语言的一个高级特性,是面向对象程序设计中多态性实现的基础.目前的主流面向对象语言Java与C++都不支持动态多重分派.文章介绍了Java语言现有的分派技术,讨论了为Java语言添加动...
International audienceReflection-based libraries may be used to extend the expressive power of Java w...
In programming we some times need to choose between several implementations of the same functionalit...
New programming languages are frequently designed to improve upon other languages or to simplify pro...
New programming languages are frequently designed to improve upon other languages or to simplify pro...
MultiJava is an extension of the Java Programming Language with open classes and symmetric multiple ...
Multiple dispatch uses the run time types of more than one argument to a method call to determine wh...
Multiple dispatch offers several well-known advantages over the single dispatching of conventional o...
In java, method dispatch is done at runtime, by late-binding, with respect to the dynamic type of th...
International audienceIn Java, method implementations are chosen at runtime by late-binding with res...
Many popular object-oriented programming languages, such as C++, Smalltalk-80, Java, and Eiffel, do ...
Multiple dispatch allows determining the actual method to be executed, depending on the dynamic type...
AbstractGoals of flexibility and re-usability in typed object-oriented languages suggest the require...
Permission is granted for noncommercial reproduction of the work for educational or research purpose...
Multiple dispatching provides increased expressive power over single dispatching by guiding method l...
多重分派是面向对象语言的一个高级特性,是面向对象程序设计中多态性实现的基础.目前的主流面向对象语言Java与C++都不支持动态多重分派.文章介绍了Java语言现有的分派技术,讨论了为Java语言添加动...
International audienceReflection-based libraries may be used to extend the expressive power of Java w...
In programming we some times need to choose between several implementations of the same functionalit...
New programming languages are frequently designed to improve upon other languages or to simplify pro...
New programming languages are frequently designed to improve upon other languages or to simplify pro...
MultiJava is an extension of the Java Programming Language with open classes and symmetric multiple ...