Modular Multiple Dispatch with Multiple Inheritance

被引:0
|
作者
Allen, Eric [1 ]
Hallett, J. J. [1 ]
Luchangco, Victor [1 ]
Ryu, Sukyoung [1 ]
Steele, Guy L., Jr. [1 ]
机构
[1] Sun Microsyst Inc, Santa Clara, CA 95054 USA
关键词
overloading; multiple dispatch; multiple inheritance; modularity;
D O I
暂无
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
Overloaded functions and methods with multiple dispatch are useful for extending the functionality of existing classes in an object-oriented language. However, such functions introduce the possibility of ambiguous calls that cannot be resolved at run time, and modular static checking that such ambiguity does not exist has proved elusive in the presence of multiple implementation inheritance. We present a core language for defining overloaded functions and methods that supports multiple dispatch and multiple inheritance, together with a set of restrictions on these definitions that can be statically and modularly checked. We have proved that these restrictions guarantee that no undefined nor ambiguous calls occur at run time, while still permitting various kinds of overloading.
引用
收藏
页码:1117 / 1121
页数:5
相关论文
共 50 条
  • [1] Type Checking Modular Multiple Dispatch with Parametric Polymorphism and Multiple Inheritance
    Allen, Eric
    Hilburn, Justin
    Kilpatrick, Scott
    Luchangco, Victor
    Ryu, Sukyoung
    Chase, David
    Steele, Guy L., Jr.
    [J]. ACM SIGPLAN NOTICES, 2011, 46 (10) : 973 - 992
  • [2] Type Checking Modular Multiple Dispatch with Parametric Polymorphism and Multiple Inheritance
    Allen, Eric
    Hilburn, Justin
    Kilpatrick, Scott
    Luchangco, Victor
    Ryu, Sukyoung
    Chase, David
    Steele, Guy L., Jr.
    [J]. OOPSLA 11: PROCEEDINGS OF THE 2011 ACM INTERNATIONAL CONFERENCE ON OBJECT ORIENTED PROGRAMMING SYSTEMS LANGUAGES AND APPLICATIONS, 2011, : 973 - 992
  • [3] Multiple dispatch
    Meyer, ML
    [J]. POWER ENGINEERING, 2002, 106 (04) : 8 - 8
  • [4] Multiple dispatch as dispatch on tuples
    Leavens, GT
    Millstein, TD
    [J]. ACM SIGPLAN NOTICES, 1998, 33 (10) : 374 - 387
  • [5] MultiJava']Java: Modular open classes and symmetric multiple dispatch for Java']Java
    Clifton, C
    Leavens, GT
    Chambers, C
    Millstein, T
    [J]. ACM SIGPLAN NOTICES, 2000, 35 (10) : 130 - 145
  • [6] Analysis of inheritance and multiple inheritance
    Willis, CP
    [J]. SOFTWARE ENGINEERING JOURNAL, 1996, 11 (04): : 215 - 224
  • [7] Multiple Dispatch in Practice
    Muschevici, Radu
    Potanin, Alex
    Tempero, Ewan
    Noble, James
    [J]. OOPSLA 2008 NASHVILLE, CONFERENCE PROCEEDINGS: MUSIC CITY USA, OOPSLA, 2008, : 563 - +
  • [8] Multiple dispatch [2]
    Meyer, Mark L.
    [J]. Power Engineering (Barrington, Illinois), 2002, 106 (04):
  • [9] Multiple Dispatch in Practice
    Muschevici, Radu
    Potanin, Alex
    Tempero, Ewan
    Noble, James
    [J]. ACM SIGPLAN NOTICES, 2008, 43 (10) : 563 - 582
  • [10] A SEMANTICS OF MULTIPLE INHERITANCE
    CARDELLI, L
    [J]. INFORMATION AND COMPUTATION, 1988, 76 (2-3) : 138 - 164