Hierarchical Layer-Based Class Extensions in Squeak/Smalltalk

被引:0
|
作者
Springer, Matthias [1 ]
Masuhara, Hidehiko [1 ]
Hirschfeld, Robert [2 ,3 ,4 ]
机构
[1] Tokyo Inst Technol, Dept Math & Comp Sci, Tokyo, Japan
[2] Univ Potsdam, Hasso Plattner Inst, Potsdam, Germany
[3] SAP Labs, CDG, Palo Alto, CA USA
[4] Viewpoints Res Inst, Glendale, CA USA
关键词
Class extension; context-oriented programming; mixins;
D O I
10.1145/2892664.2892682
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
Class extensions are frequently used in programming languages such as Ruby and Smalltalk to add or change methods of a class that is defined in the same application or in a different one. They suffer from modularity issues if globally visible: Other applications using the same classes are then affected by the modifications. This paper presents a hierarchical approach for dynamically scoping class extensions in dynamically-typed, class-based programming languages supporting class nesting. Our mechanism allows programmers to define the scope of class extensions and to reuse class extensions in other programs. Class extensions can be scoped according to a nested class hierarchy or based on whether programmers regard a potentially affected class as a black box or not. Class extensions are organized in layers, where multiple layers targeting the same class can be active at the same time.
引用
收藏
页码:107 / 112
页数:6
相关论文
共 50 条
  • [1] Matriona: Class Nesting with Parameterization in Squeak/Smalltalk
    Springer, Matthias
    Niephaus, Fabio
    Hirschfeld, Robert
    Masuhara, Hidehiko
    PROCEEDINGS OF THE 15TH INTERNATIONAL CONFERENCE ON MODULARITY (MODULARITY'16), 2016, : 118 - 129
  • [2] A routing layer-based hierarchical service advertisement and discovery for MANETs
    Seno, Seyed Amin Hosseini
    Budiarto, Rahmat
    Wan, Tat-Chee
    AD HOC NETWORKS, 2011, 9 (03) : 355 - 367
  • [3] PolyJuS: A Squeak/Smalltalk-based Polyglot Notebook System for the GraalVM
    Niephaus, Fabio
    Krebs, Eva
    Flach, Christian
    Lincke, Jens
    Hirschfeld, Robert
    PROGRAMMING 2019: PROCEEDINGS OF THE CONFERENCE COMPANION OF THE 3RD INTERNATIONAL CONFERENCE ON ART, SCIENCE, AND ENGINEERING OF PROGRAMMING, 2019,
  • [4] Layer-based morphing
    Gong, L
    Yang, YH
    GRAPHICAL MODELS, 2001, 63 (01) : 45 - 59
  • [5] Layer-based video registration
    Jiangjian Xiao
    Mubarak Shah
    Machine Vision and Applications, 2005, 16 : 75 - 84
  • [6] Layer-based video registration
    Xiao, JJ
    Shah, M
    MACHINE VISION AND APPLICATIONS, 2005, 16 (02) : 75 - 84
  • [7] CAM systems for layer-based EDM
    Dimov, S
    Pham, DT
    Ivanov, A
    Popov, K
    Rangel, V
    ADVANCES IN MANUFACTURING TECHNOLOGY-XVI, 2001, : 109 - 114
  • [8] Iterative Layer-Based Raytracing on CUDA
    Segovia, Alejandro
    Li, Xiaoming
    Gao, Guang
    2009 IEEE 28TH INTERNATIONAL PERFORMANCE COMPUTING AND COMMUNICATIONS CONFERENCE (IPCC 2009), 2009, : 248 - 255
  • [9] Layer-based Composite Reputation Bootstrapping
    Mistry, Sajib
    Qu, Lie
    Bouguettaya, Athman
    ACM TRANSACTIONS ON INTERNET TECHNOLOGY, 2022, 22 (01)
  • [10] A Layer-Based Concept for Presentation Systems
    Turban, Georg
    Muehlhaeuser, Max
    ISM: 2008 IEEE INTERNATIONAL SYMPOSIUM ON MULTIMEDIA, 2008, : 708 - 713