MULTIMETHODS IN A STATICALLY-TYPED PROGRAMMING LANGUAGE

被引:0
|
作者
MUGRIDGE, WB
HAMER, J
HOSKING, JG
机构
关键词
OBJECT-ORIENTED; MULTIMETHODS; STATIC-TYPING; POLYMORPHISM; CONTRAVARIANCE;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Multivariant functions in Kea are a statically-typed form of the multi-methods of CLOS (Keene, 1989) but encapsulation is retained. Multivariants permit fine typing distinctions to be made, allow despatching to be avoided in some cases, and may be used to avoid some restrictions of the contravariance rule. Once multivariant functions are introduced by example, the semantics of the despatch of multivariants are provided, based on the generation of despatching variants. Three issues arise with despatching: redundancy, ambiguity, and exhaustiveness of a (partially-ordered) set of variants with respect to a function call. It is shown that the approach taken here is consistent with separate compilation.
引用
收藏
页码:307 / 324
页数:18
相关论文
共 50 条
  • [1] DYNAMIC TYPING IN A STATICALLY-TYPED LANGUAGE
    ABADI, M
    CARDELLI, L
    PIERCE, B
    PLOTKIN, G
    [J]. CONFERENCE RECORD OF THE SIXTEENTH ANNUAL ACM SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES, 1989, : 213 - 227
  • [2] Modular statically typed multimethods
    Millstein, T
    Chambers, C
    [J]. ECOOP'99 - OBJECT-ORIENTED PROGRAMMING, 1999, 1628 : 279 - 303
  • [3] Modular statically typed multimethods
    Millstein, T
    Chambers, C
    [J]. INFORMATION AND COMPUTATION, 2002, 175 (01) : 76 - 118
  • [4] Run-time manipulation of programs in a statically-typed language
    Greiner, Sašo
    [J]. Informatica (Ljubljana), 2009, 33 (03) : 397 - 398
  • [5] Run-time Manipulation of Programs in a Statically-Typed Language
    Greiner, Saso
    [J]. INFORMATICA-JOURNAL OF COMPUTING AND INFORMATICS, 2009, 33 (03): : 397 - 398
  • [6] Unifying Analytic and Statically-Typed Quasiquotes
    Parreaux, Lionel
    Voizard, Antoine
    Shaikhha, Amir
    Koch, Christoph E.
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2018, 2
  • [7] Adding Dynamically-Typed Language Support to a Statically-Typed Language Compiler: Performance Evaluation, Analysis, and Tradeoffs
    Ishizaki, Kazuaki
    Ogasawara, Takeshi
    Castanos, Jose
    Nagpurkar, Priya
    Edelsohn, David
    Nakatani, Toshio
    [J]. ACM SIGPLAN NOTICES, 2012, 47 (07) : 169 - 180
  • [8] How Statically-Typed Functional Programmers Author Code
    Lubin, Justin
    [J]. EXTENDED ABSTRACTS OF THE 2021 CHI CONFERENCE ON HUMAN FACTORS IN COMPUTING SYSTEMS (CHI'21), 2021,
  • [9] Closures for statically-typed object-oriented languages
    Guimaraes, JD
    [J]. ACM SIGPLAN NOTICES, 2004, 39 (08) : 54 - 60
  • [10] How Statically-Typed Functional Programmers Write Code
    Lubin, Justin
    Chasins, Sarah E.
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2021, 5 (OOPSLA):